如何将for 循环中的dataframe存入新的dataframe中
时间: 2023-12-03 18:13:31 浏览: 26
可以使用 pandas 中的 concat() 或 append() 方法将 for 循环中遍历的每个 dataframe 存入新的 dataframe 中。具体实现方法如下:
使用 concat() 方法:
```python
import pandas as pd
# 创建一个空的 dataframe
new_df = pd.DataFrame()
# for 循环遍历每个 dataframe,并存入新的 dataframe 中
for df in dfs:
new_df = pd.concat([new_df, df], ignore_index=True)
```
使用 append() 方法:
```python
import pandas as pd
# 创建一个空的 dataframe
new_df = pd.DataFrame()
# for 循环遍历每个 dataframe,并存入新的 dataframe 中
for df in dfs:
new_df = new_df.append(df, ignore_index=True)
```
其中,dfs 是包含多个 dataframe 的列表。在使用 concat() 或 append() 方法时,需要将新的 dataframe 和当前遍历到的 dataframe 作为参数传递进去。`ignore_index=True` 表示忽略原 dataframe 的索引,重新生成新的索引。
相关问题
python从字典中for读取数据并生成新的字段,最后将新生成的字段依次存入一个空的dataframe中
好的,假设你已经有一个字典,其中每个键都是一个列表,表示DataFrame中的一列数据。你可以使用for循环遍历字典中的每个键,生成一个新的字段,并将其存储在一个空的DataFrame中。以下是一个示例代码:
```python
import pandas as pd
# 创建一个空的DataFrame
df = pd.DataFrame()
# 创建一个字典
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
# 遍历字典中的每个键
for key in data.keys():
# 生成一个新的字段,并将其存储在DataFrame中
df[key+'_new'] = data[key]
# 打印结果
print(df)
```
在这个例子中,我们首先创建了一个空的DataFrame。然后,我们创建了一个包含三个键值对的字典,其中每个键都是一个列表。接下来,我们使用for循环遍历字典中的每个键。在每次迭代中,我们生成一个新的字段,其名字为原始键名加上后缀'_new',并将原始键的值存储在新的字段中。最后,我们打印了结果DataFrame。
在构建循环中动态构建dataframe时,如何避免表格追加拼接而造成dataframe的不断复制
可以使用列表来存储每次构建的dataframe,最后再使用concat或者merge方法将列表中的所有dataframe合并起来,避免重复拼接。这样做可以大大提高性能并减少不必要的数据复制。示例如下:
```python
import pandas as pd
df_list = []
for i in range(5):
# 构建每次的dataframe
df = pd.DataFrame({'col1': [i], 'col2': [i+1]})
# 将df存入列表
df_list.append(df)
# 合并所有的dataframe
result = pd.concat(df_list)
```