用join把两个df连接,有相同的列名
时间: 2023-06-23 10:08:35 浏览: 42
若要将两个 DataFrame 连接起来,可以使用 pandas 库中的 `join()` 函数。当两个 DataFrame 中有相同的列名时,需要使用 `suffixes` 参数来指定区别它们。
以下是一个示例代码:
``` python
import pandas as pd
# 创建两个 DataFrame
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': [5, 6, 7, 8]})
# 使用 join() 函数连接两个 DataFrame
result = df1.join(df2.set_index('key'), on='key', lsuffix='_left', rsuffix='_right')
print(result)
```
输出结果为:
```
key value_left value_right
0 A 1 NaN
1 B 2 5.0
2 C 3 NaN
3 D 4 6.0
```
在这个例子中,我们将 `df1` 和 `df2` 按照 `key` 列连接起来。由于 `df1` 和 `df2` 都有 `key` 和 `value` 两列,我们需要使用 `lsuffix` 和 `rsuffix` 参数来指定连接后的列名。在这里,我们将 `df1` 的列名后缀设为 `_left`,`df2` 的列名后缀设为 `_right`。这样,在连接后的 DataFrame 中,`key` 列和 `value` 列就被区分开来了。