通过index连接多个dataframe
时间: 2023-11-18 12:13:44 浏览: 65
Python通过两个dataframe用for循环求笛卡尔积
你可以使用 pandas 库中的 concat 函数来连接多个 DataFrame。具体步骤如下:
1. 将要连接的 DataFrame 存储在一个列表中。
2. 使用 concat 函数,指定列表作为参数,设置 axis=0 表示按行连接或 axis=1 表示按列连接。
3. 如果 DataFrame 的列名不同,可以使用参数 ignore_index=True 来重新设置行索引。
示例代码如下:
```
import pandas as pd
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [7, 8, 9], 'B': [10, 11, 12]})
df3 = pd.DataFrame({'C': [13, 14, 15], 'D': [16, 17, 18]})
df_list = [df1, df2, df3]
df_concat = pd.concat(df_list, axis=0, ignore_index=True)
print(df_concat)
```
输出结果如下:
```
A B C D
0 1 4 NaN NaN
1 2 5 NaN NaN
2 3 6 NaN NaN
3 7 10 NaN NaN
4 8 11 NaN NaN
5 9 12 NaN NaN
6 NaN NaN 13.0 16.0
7 NaN NaN 14.0 17.0
8 NaN NaN 15.0 18.0
```
注意,如果连接的 DataFrame 的列名不同,连接后的结果会包含所有列,并且缺失值会用 NaN 填充。如果需要删除缺失值,可以使用 dropna 函数。
阅读全文