for循环pandas concat
时间: 2023-04-01 16:01:11 浏览: 170
可以使用 for 循环来遍历多个 DataFrame,并使用 pandas 的 concat 函数将它们合并成一个 DataFrame。具体的代码实现可以参考以下示例:
```
import pandas as pd
# 创建三个 DataFrame
df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})
df3 = pd.DataFrame({'A': [9, 10], 'B': [11, 12]})
# 创建一个空的 DataFrame,用于存储合并后的结果
result = pd.DataFrame()
# 使用 for 循环遍历三个 DataFrame,并将它们合并到 result 中
for df in [df1, df2, df3]:
result = pd.concat([result, df], ignore_index=True)
# 输出合并后的结果
print(result)
```
这段代码会输出以下结果:
```
A B
1 3
1 2 4
2 5 7
3 6 8
4 9 11
5 10 12
```
相关问题
pandas读取多个sheet concat
您可以使用pandas的`read_excel`函数来读取包含多个sheet的Excel文件,并使用`concat`函数将这些sheet连接在一起。以下是一个示例代码:
```python
import pandas as pd
# 读取Excel文件
excel_file = pd.ExcelFile('your_file.xlsx')
# 读取每个sheet并存储在一个字典中
dfs = {}
for sheet_name in excel_file.sheet_names:
dfs[sheet_name] = excel_file.parse(sheet_name)
# 将所有sheet连接在一起
merged_df = pd.concat(dfs.values(), ignore_index=True)
# 打印合并后的DataFrame
print(merged_df)
```
在上面的代码中,您需要将`your_file.xlsx`替换为您自己的Excel文件路径。`read_excel`函数返回一个`ExcelFile`对象,我们可以使用它的`sheet_names`属性获取Excel文件中所有的sheet名称。然后,我们循环遍历每个sheet名称,使用`parse`函数读取每个sheet,并将其存储在一个字典中。最后,我们使用`concat`函数将所有sheet连接在一起,设置`ignore_index=True`可以重新索引合并后的DataFrame。
如何用pandas 的concat函数合并多个excel文件的数据 有没有代码
可以使用 pandas 的 concat 函数来合并多个 Excel 文件的数据。以下是一个示例代码:
```python
import pandas as pd
import glob
# 获取所有需要合并的文件
files = glob.glob('*.xlsx')
# 定义一个空的 DataFrame
df = pd.DataFrame()
# 循环读取每个文件并合并数据
for file in files:
data = pd.read_excel(file)
df = pd.concat([df, data])
# 将合并后的数据保存为一个新的 Excel 文件
df.to_excel('merged_data.xlsx', index=False)
```
在上述代码中,首先使用 glob 函数获取所有需要合并的 Excel 文件。然后,定义一个空的 DataFrame 对象,用于存储合并后的数据。接下来,使用 for 循环逐个读取每个文件的数据,并使用 concat 函数将其与之前的数据合并。最后,将合并后的数据保存为一个新的 Excel 文件。