拼接两个dataframe,合并相同的列
时间: 2023-09-09 11:11:58 浏览: 116
可以使用`pd.concat()`函数将两个dataframe拼接在一起。如果两个dataframe存在相同的列,可以使用`merge()`函数将它们合并。
示例代码如下:
```python
import pandas as pd
# 创建两个dataframe
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [1, 2, 4], 'C': [7, 8, 9]})
# 拼接两个dataframe
df = pd.concat([df1, df2], sort=False)
# 合并相同的列
df = df.merge(df.groupby(['A']).first(), on='A', suffixes=('', '_y'))
# 删除重复的列
df = df[df.columns.drop(list(df.filter(regex='_y')))]
print(df)
```
输出结果:
```
A B C
0 1 4 7
1 2 5 8
2 3 6 NaN
3 4 NaN 9
```
相关问题
拼接两个dataframe
可以使用 pandas 库中的 concat 函数来拼接两个 dataframe,例如:
```
import pandas as pd
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
df2 = pd.DataFrame({'A': [4, 5, 6], 'B': ['d', 'e', 'f']})
concatenated_df = pd.concat([df1, df2], axis=0)
print(concatenated_df)
```
这个程序会输出合并后的 dataframe:
```
A B
0 1 a
1 2 b
2 3 c
0 4 d
1 5 e
2 6 f
```
两个dataframe根据一列进行拼接
好的,这个问题可以回答。你可以使用 pandas 库中的 merge 函数将两个 dataframe 根据一列进行拼接。具体操作可以参考以下代码:
``` python
import pandas as pd
# 创建两个 dataframe
df1 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value1': [1, 2, 3]})
df2 = pd.DataFrame({'key': ['B', 'C', 'D'], 'value2': [4, 5, 6]})
# 根据 'key' 列进行拼接
merged_df = pd.merge(df1, df2, on='key')
# 打印拼接后的结果
print(merged_df)
```
输出结果为:
```
key value1 value2
0 B 2 4
1 C 3 5
```
其中,根据 'key' 列进行拼接后,相同的行会被合并,不同的行会被删除。
阅读全文