pd.merge(left, right, on=None, how='inner', ...)
参数:
left
和right
:要合并的左右两个 DataFrame 对象。on
:指定用于合并的列名(字符串或列表)。如果未提供,则会根据两个 DataFrame 中相同的列名进行自动匹配。how
:指定连接方式,默认为'inner'
。可选的连接方式包括:'inner'
:内连接,只保留两个 DataFrame 共有的行。'outer'
:外连接,保留两个 DataFrame 所有的行,缺失值用 NaN 填充。'left'
:左连接,保留左侧 DataFrame 所有的行,缺失值用 NaN 填充。'right'
:右连接,保留右侧 DataFrame 所有的行,缺失值用 NaN 填充。- 其他参数:还可以通过其他参数指定更多的合并选项,如
left_on
、right_on
、left_index
、right_index
等。
例子:
import pandas as pd
# 创建示例数据
df1 = pd.DataFrame({'ID': [2,3],
'Name': ['Bob', 'Charlie']})
df2 = pd.DataFrame({'ID': [1,2,3,4],
'Age': [25,30,35,5]})
df3 = pd.DataFrame({'ID': [1,2,3,4],
'yue': [25, 35, 35,5]})
# 使用 merge 函数合并两个 DataFrame
merged_df1 = pd.merge(df1, df2, on='ID') # 此处行索引取交集,列索引取并集
# 使用 merge 函数合并三个 DataFrame
merged_df2 = pd.merge(df1, df2, on='ID').merge(df3,on='ID')
# 设置时间列为索引
# merged_df.set_index('ID', inplace=True)
# 打印合并后的结果
print(merged_df1)
print(merged_df2)
![](https://i-blog.csdnimg.cn/blog_migrate/198a46f3f0286f32afa4b27cf6ebd4ab.png)
![](https://i-blog.csdnimg.cn/blog_migrate/19e7ba7817d50e3f75ad8f4a47ee548b.png)
设置某列为索引:
# 设置时间列为索引
merged_df.set_index('ID', inplace=True)
# 按索引将时间排序
merged_df= merged_df.sort_index(ascending=True) # ascending=True 升序排序
merged_df= merged_df.sort_index(ascending=False) # ascending=False 降序排序