Python:搜索并加入
我有两个数据帧(data1和data2)。 数据2是国家列表。 数据1是公司列表。 在数据2中,我故意复制了一个国家 我想在data1中添加新列(country name)。 我可以用groupby、drop_duplicate和merge来完成。但是这个代码太长了。 有没有简单的方法来解决这个连接并从不同的数据帧中检索值 示例代码:Python:搜索并加入,python,pandas,Python,Pandas,我有两个数据帧(data1和data2)。 数据2是国家列表。 数据1是公司列表。 在数据2中,我故意复制了一个国家 我想在data1中添加新列(country name)。 我可以用groupby、drop_duplicate和merge来完成。但是这个代码太长了。 有没有简单的方法来解决这个连接并从不同的数据帧中检索值 示例代码: data1 = { 'Code': [1, 2, 3], 'Name': ['Company1', 'Company2', '
data1 = {
'Code': [1, 2, 3],
'Name': ['Company1', 'Company2', 'Company3'],
'CountryCode': [61,62,64],
}
df1 = pd.DataFrame(data1, columns= ['Code','Name','CountryCode'])
data2 = {
'CountryCode': ['61','62','64','62'],
'Country': ['Australia','Indonesia','NewZealand','Indonesia'],
}
df2 = pd.DataFrame(data2, columns= ['CountryCode','Country'])
print(df1)
Code Name CountryCode
0 1 Company1 61
1 2 Company2 62
2 3 Company3 64
print(df2)
CountryCode Country
0 61 Australia
1 62 Indonesia
2 64 NewZealand
3 62 Indonesia
What I want the output is for df1
Code Name CountryCode Country
0 1 Company1 61 Australia
1 2 Company2 62 Indonesia
2 3 Company3 64 NewZealand
注意:在您提供的输入中,CountryCode
列在df1中是整数,但在df2中是object。如果数据确实如此,请使用下面的代码。
如果booth数据框中的数据类型相同,则可以使用上面的代码
df1['Country'] = df1['CountryCode'].astype(str).map(country_dict)
输出
Code Name CountryCode Country
0 1 Company1 61 Australia
1 2 Company2 62 Indonesia
2 3 Company3 64 NewZealand
注意:在您提供的输入中,CountryCode
列在df1中是整数,但在df2中是object。如果数据确实如此,请使用下面的代码。
如果booth数据框中的数据类型相同,则可以使用上面的代码
df1['Country'] = df1['CountryCode'].astype(str).map(country_dict)
输出
Code Name CountryCode Country
0 1 Company1 61 Australia
1 2 Company2 62 Indonesia
2 3 Company3 64 NewZealand
谢谢你的回复。我运行你的代码,数据1中的国家是Nan。输出:代码名称CountryCode Country 0 1公司1 61南1 2公司2 62南2 3公司3 64南请检查完整代码,我现在已经包括一个注释。非常棒的解决方案。非常感谢你,莫伊斯。我正在努力学习python。如果键是不同的标题怎么办。在df1中,称为country_代码,df2称为CountryCode,这不重要
country\u dict
没有列名。打印country\u dict
&查看输出,您会有一个想法。只需确保在为回复moys创建dictionary.thk时使用正确的名称。我运行你的代码,数据1中的国家是Nan。输出:代码名称CountryCode Country 0 1公司1 61南1 2公司2 62南2 3公司3 64南请检查完整代码,我现在已经包括一个注释。非常棒的解决方案。非常感谢你,莫伊斯。我正在努力学习python。如果键是不同的标题怎么办。在df1中,称为country_代码,df2称为CountryCode,这不重要country\u dict
没有列名。打印country\u dict
&查看输出,您会有一个想法。只需确保在创建字典时使用正确的名称即可。