繁体   English   中英

基于值连接数据帧,pandas

[英]Joining dataframes based on values, pandas

我有两个数据框,比如说AB 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM