左右联结两个dataframe
时间: 2023-11-18 08:55:44 浏览: 133
可以使用 pandas 中的 merge 函数来左右连接两个 DataFrame。左右连接是指将两个 DataFrame 按照某个共同的列进行合并,其中左 DataFrame 的所有行都会保留,右 DataFrame 的部分行会保留,如果右 DataFrame 中没有与左 DataFrame 匹配的行,则会用 NaN 值填充。
下面是一个例子:
``` python
import pandas as pd
# 创建两个 DataFrame
df1 = pd.DataFrame({'id': [1, 2, 3, 4], 'name': ['Alice', 'Bob', 'Charlie', 'David']})
df2 = pd.DataFrame({'id': [2, 3, 4, 5], 'age': [20, 30, 40, 50]})
# 左连接
merge_df_left = pd.merge(df1, df2, on='id', how='left')
print(merge_df_left)
# 右连接
merge_df_right = pd.merge(df1, df2, on='id', how='right')
print(merge_df_right)
```
输出结果如下:
```
id name age
0 1 Alice NaN
1 2 Bob 20.0
2 3 Charlie 30.0
3 4 David 40.0
id name age
0 2 Bob 20
1 3 Charlie 30
2 4 David 40
3 5 NaN 50
```
其中,左连接将左 DataFrame 的所有行都保留了下来,右 DataFrame 中没有与左 DataFrame 匹配的行用 NaN 填充了;右连接将右 DataFrame 的所有行都保留了下来,左 DataFrame 中没有与右 DataFrame 匹配的行用 NaN 填充了。
阅读全文