[英]Joining dataframes based on values, pandas
我有两个数据框,比如说A
和B
。 A
具有['Name', 'Age', 'Mobile_number']
列, B
具有['Cell_number', 'Blood_Group', 'Location']
列,其中'Mobile_number'
和'Cell_number'
具有共同值。 我想根据'Mobile_number'
和'Cell_number'
中的共同值将'Location'
列仅加入A
,因此最终的 DataFrame 将具有A={'Name':,'Age':,'Mobile_number':,'Location':]
a = {'Name': ['Jake', 'Paul', 'Logan', 'King'], 'Age': [33,43,22,45], 'Mobile_number':[332,554,234, 832]}
A = pd.DataFrame(a)
b = {'Cell_number': [832,554,123,333], 'Blood_group': ['O', 'A', 'AB', 'AB'], 'Location': ['TX', 'AZ', 'MO', 'MN']}
B = pd.DataFrame(b)
请建议。 一位同事建议使用pd.Join
但我不明白如何。
感谢您的时间。
我看到它的方式,你想基于一些常见的列将 dataframe 与另一个 dataframe 的一部分合并。 首先,您必须确保公共列具有相同的名称:
B['Mobile_number'] = B['Cell_number']
然后创建一个仅包含相关列(索引列和相关数据列)的 dataframe:
B1 = B[['Mobile_number', 'Location']]
最后你可以合并它们:
merged_df = pd.merge(A, B1, on='Mobile_number')
请注意,pd.merge 的这种用法将仅采用两个数据帧中都存在 Mobile_number 值的行。 您可以查看pd.merge 的文档以更改合并的具体完成方式、包含的内容等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.