如何在索引上合并两个Pandas数据框架
在这篇文章中,我们将讨论如何在索引上合并两个Pandas Dataframes。
方法1:使用join()
该方法用于根据索引连接数据框架。
语法 :
dataframe1.join(dataframe2)
示例:
# import pandas module
import pandas as pd
# create student dataframe
data1 = pd.DataFrame({'id': [1, 2, 3, 4],
'name': ['manoj', 'manoja', 'manoji', 'manij']},
index=['one', 'two', 'three', 'four'])
# create marks dataframe
data2 = pd.DataFrame({'s_id': [1, 2, 3, 6, 7],
'marks': [98, 90, 78, 86, 78]},
index=['one', 'two', 'three', 'siz', 'seven'])
# join two dataframes
print(data1.join(data2))
输出:
方法2:使用merge()
这将合并两个具有匹配索引的数据框架
语法 :
pandas.merge(dataframe1, dataframe2, left_index=True, right_index=True)
其中,
- dataframe1是第一个数据框架
- dataframe2是第二个数据框架
- left_index指定第一个数据帧的索引被设置为真。
- right_index指定第二个数据帧的索引,设置为真。
示例:
# import pandas module
import pandas as pd
# create student dataframe
data1 = pd.DataFrame({'id': [1, 2, 3, 4],
'name': ['manoj', 'manoja', 'manoji', 'manij']},
index=['one', 'two', 'three', 'four'])
# create marks dataframe
data2 = pd.DataFrame({'s_id': [1, 2, 3, 6, 7],
'marks': [98, 90, 78, 86, 78]},
index=['one', 'two', 'three', 'siz', 'seven'])
# join two dataframes with merge
print(pd.merge(data1, data2, left_index=True, right_index=True))
输出:
方法3:使用concat()
我们可以使用concat()方法,通过设置axe=1,将两个数据帧连接起来。
语法 :
pandas.concat([daatframe1,dataframe2], axis=1)
示例:
# import pandas module
import pandas as pd
# create student dataframe
data1 = pd.DataFrame({'id': [1, 2, 3, 4],
'name': ['manoj', 'manoja', 'manoji', 'manij']},
index=['one', 'two', 'three', 'four'])
# create marks dataframe
data2 = pd.DataFrame({'s_id': [1, 2, 3, 6, 7],
'marks': [98, 90, 78, 86, 78]},
index=['one', 'two', 'three', 'siz', 'seven'])
# join two dataframes with concat
print(pd.concat([data1, data2], axis=1))
输出: