[英]Pandas: how to divide all values in one DataFrame by the values in another DataFrame?
[英]How to change all values of a dataframe according to values of another dataframe in Pandas?
ID 需要替换为规范名称。 第一个数据帧(请使用代码):
df = pd.DataFrame({'LopCityCriteriaId': {0: 1007788.0,
1: 1000002.0,
2: 1000003.0,
3: 1000003.0,
4: 1000004.0},
'LopCountryCriteriaId': {0: 2356.0,
1: 1000003.0,
2: 1000002.0,
3: 1000009.0,
4: 1000004.0},
'LopMostSpecificTargetId': {0: 1007788.0,
1: 1000003.0,
2: 9062093.0,
3: 1000002.0,
4: 1000002.0},
'LopRegionCriteriaId': {0: 20462.0,
1: 1000009.0,
2: 1000003.0,
3: 1000008.0,
4: 1000004.0}})
df
现在我需要将整个数据框中的所有这些 ID 替换为这些(请使用代码):
df_IDs = pd.DataFrame({'Criteria ID': {0: 1000002, 1: 1000003, 2: 1000004, 3: 1000008, 4: 1000009},
'Canonical Name': {0: 'Kabul,Kabul,Afghanistan',
1: 'Luanda,Luanda Province,Angola',
2: 'The Valley,Anguilla',
3: 'Philipsburg,Sint Maarten',
4: 'Willemstad,Curacao'}})
df_IDs
请指出我正确的方向。
df1 = df.replace(df_IDs.set_index('Criteria ID')['Canonical Name'])
print (df1)
LopCityCriteriaId LopCountryCriteriaId \
0 1007788.0 2356.0
1 Kabul,Kabul,Afghanistan Luanda,Luanda Province,Angola
2 Luanda,Luanda Province,Angola Kabul,Kabul,Afghanistan
3 Luanda,Luanda Province,Angola Willemstad,Curacao
4 The Valley,Anguilla The Valley,Anguilla
LopMostSpecificTargetId LopRegionCriteriaId
0 1007788.0 20462.0
1 Luanda,Luanda Province,Angola Willemstad,Curacao
2 9062093.0 Luanda,Luanda Province,Angola
3 Kabul,Kabul,Afghanistan Philipsburg,Sint Maarten
4 Kabul,Kabul,Afghanistan The Valley,Anguilla
或Series.map
:
df2 = df.apply(lambda x: x.map(df_IDs.set_index('Criteria ID')['Canonical Name']))
print (df2)
LopCityCriteriaId LopCountryCriteriaId \
0 NaN NaN
1 Kabul,Kabul,Afghanistan Luanda,Luanda Province,Angola
2 Luanda,Luanda Province,Angola Kabul,Kabul,Afghanistan
3 Luanda,Luanda Province,Angola Willemstad,Curacao
4 The Valley,Anguilla The Valley,Anguilla
LopMostSpecificTargetId LopRegionCriteriaId
0 NaN NaN
1 Luanda,Luanda Province,Angola Willemstad,Curacao
2 NaN Luanda,Luanda Province,Angola
3 Kabul,Kabul,Afghanistan Philipsburg,Sint Maarten
4 Kabul,Kabul,Afghanistan The Valley,Anguilla
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.