Pandas是一个强大的数据分析工具,在数据处理中,经常需要进行数据合并操作。本文将详细讲解Pandas实现Dataframe的合并的完整攻略。
一、Pandas实现Dataframe的合并
Pandas中实现Dataframe的合并操作主要有三种方法:merge、join和concat。这三种方法都能实现Dataframe的合并操作,但使用场景和方式略有不同。
1. merge方法
功能:根据一个或多个键(即列名)将不同的Dataframe进行合并。
使用方法:
result = pd.merge(df1, df2, on='key')
示例1:
假设有两个Dataframe:score和staff,两个Dataframe均有一个共同的列名‘name’。使用merge方法根据‘name’列名将两个Dataframe进行合并。
import pandas as pd
score = pd.DataFrame({'name': ['Jack', 'Lucy', 'Tom'], 'score': [80, 85, 90]})
staff = pd.DataFrame({'name': ['Jack', 'Lucy', 'Bob'], 'age': [25, 26, 27]})
result = pd.merge(score, staff, on='name')
print(result)
输出结果:
name score age
0 Jack 80 25
1 Lucy 85 26
示例2:
假设有两个Dataframe:A和B,A有’a’、’b’、’c’三列,B有’b’、’d’两列。对A和B根据‘b’列进行合并,合并后的Dataframe包括’a’、’b’、’c’、’d’四列,如果某一行‘b’列的数值在A和B中都存在,则将A中的数据放在右边,B中的数据放在左边。
import pandas as pd
A = pd.DataFrame({'a': [1, 2, 3], 'b': [3, 4, 5], 'c': [6, 7, 8]})
B = pd.DataFrame({'b': [3, 4, 9], 'd': [9, 10, 11]})
result = pd.merge(A, B, on='b', how='outer')
print(result)
输出结果:
a b c d
0 1 3 6 9.0
1 2 4 7 10.0
2 3 5 8 NaN
3 NaN 9 NaN 11.0
2. join方法
功能:根据索引进行Dataframe的合并。
使用方法:
result = left.join(right, how='outer')
示例:
假设有两个Dataframe:score和age,score的‘name’列为索引,age的‘name’列为普通列。使用join方法,连接score和age两个Dataframe。
score = pd.DataFrame({'name': ['Jack', 'Lucy', 'Tom'], 'score': [80, 85, 90]}).set_index('name')
age = pd.DataFrame({'name': ['Jack', 'Lucy', 'Bob'], 'age': [25, 26, 27]}).set_index('name')
result = score.join(age, how='outer')
print(result)
输出结果:
score age
Jack 80.0 25.0
Lucy 85.0 26.0
Bob NaN 27.0
Tom 90.0 NaN
3. concat方法
功能:将多个Dataframe按照指定轴进行连接。
使用方法:
result = pd.concat([df1, df2], axis=0)
示例:
假设有三个Dataframe:A、B和C,A和B相同,均有两列,C有一列。使用concat方法进行合并。
A = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
B = pd.DataFrame({'a': [4, 5, 6], 'b': [7, 8, 9]})
C = pd.DataFrame({'c': [10, 11, 12]})
result = pd.concat([A, B, C], axis=1)
print(result)
输出结果:
a b a b c
0 1 4 4 7 10
1 2 5 5 8 11
2 3 6 6 9 12
二、总结
本文详细介绍了Pandas实现Dataframe的合并的三种方法:merge、join和concat。merge方法根据一个或多个键(即列名)将不同的Dataframe进行合并,join方法根据索引进行Dataframe的合并,concat方法将多个Dataframe按照指定轴进行连接。以上三种方法都能实现Dataframe的合并操作,并且有各自的使用场景和方式,具体使用时需根据实际情况进行选择。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas实现Dataframe的合并 - Python技术站