以下是详细的攻略:
1. pandas数据合并原理
pandas实现数据合并主要是通过merge()函数实现的,即基于某一列上的值相同,将两个表中的数据进行合并。比如两个表T1、T2,都有一列列名为col1,可以将这两个表基于col1列进行合并,并生成新的表T3。
merge()函数的语法如下:
pandas.DataFrame.merge(right, how='inner', on=None)
其中,right表示要合并进来的表,how表示合并方式,默认值为'inner'表示采用内连接方式;on表示要基于哪一列进行合并,如果不指定,则自动检测两个表中相同的列。
2. pandas实现数据合并示例
假设有两张表T1和T2,T1如下:
name height weight
0 Tom 175 70
1 Jerry 165 60
T2如下:
name age
0 Tom 30
1 Jerry 28
2 Alice 32
2.1 基于单列合并
要将T1和T2合并,首先需要选择一个列作为合并的依据,在这里以'name'列为依据。代码如下:
import pandas as pd
# 创建T1
T1 = pd.DataFrame({
'name': ['Tom', 'Jerry'],
'height': [175, 165],
'weight': [70, 60]
})
# 创建T2
T2 = pd.DataFrame({
'name': ['Tom', 'Jerry', 'Alice'],
'age': [30, 28, 32]
})
# 基于'name'列合并两个表
T3 = pd.merge(T1, T2, on='name')
print(T3)
运行后输出的T3表如下:
name height weight age
0 Tom 175 70 30
1 Jerry 165 60 28
2.2 基于多列合并
如果两个表的合并依据不止一列,那么可以将on参数设置为一个列表,表示基于多列的值进行合并。比如T1表和T2表中都有'name'和'age'两列,可以同时基于这两列进行合并,代码如下:
import pandas as pd
# 创建T1
T1 = pd.DataFrame({
'name': ['Tom', 'Jerry'],
'height': [175, 165],
'weight': [70, 60],
'age': [30, 28]
})
# 创建T2
T2 = pd.DataFrame({
'name': ['Tom', 'Jerry', 'Alice'],
'age': [30, 28, 32],
'gender': ['M', 'M', 'F']
})
# 基于'name'和'age'两列合并两个表
T3 = pd.merge(T1, T2, on=['name', 'age'])
print(T3)
运行后输出的T3表如下:
name height weight age gender
0 Tom 175 70 30 M
1 Jerry 165 60 28 M
3. 总结
以上就是pandas实现数据合并的示例代码和详细攻略,希望对你有所帮助。pandas库有非常丰富的数据处理方法,不仅可以对数据进行合并,还可以进行分组、筛选、排序等操作。如果你想深入学习pandas库,可以参考相关的教程和文档。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas实现数据合并的示例代码 - Python技术站