pandas.concat拼接时列索引一致如何处理
时间: 2023-06-30 16:14:27 浏览: 52
在 pandas 中,如果两个 dataframe 的列索引一致,可以使用 `concat()` 函数的 `ignore_index` 参数将拼接后的 dataframe 的列索引重置为默认的整数索引。
例如,假设我们有以下两个 dataframe:
```
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]})
print(df1)
print(df2)
```
输出结果如下:
```
A B
0 1 4
1 2 5
2 3 6
A B
0 7 10
1 8 11
2 9 12
```
如果我们想要按行轴拼接这两个 dataframe,可以使用以下代码:
```
new_df = pd.concat([df1, df2], ignore_index=True)
print(new_df)
```
输出结果为:
```
A B
0 1 4
1 2 5
2 3 6
3 7 10
4 8 11
5 9 12
```
可以看到,新的 dataframe 的列索引已经被重置为默认的整数索引。
如果两个 dataframe 的列索引不一致,可以使用 `concat()` 函数的 `join` 参数指定拼接方式,如 `join='inner'` 表示只拼接两个 dataframe 中都存在的列,而 `join='outer'` 则表示拼接两个 dataframe 中所有的列。默认为 `join='outer'`。