首页 > 解决方案 > 使用另一个数据帧更改 Pandas 数据帧中的列中的值

问题描述

我有两个数据框:

第一个数据帧 df 包含数据:

df = pd.DataFrame({'Standort': ['Vereinigte Staaten', 'Australien', 'Belgien'],
                'value': [100, 300, 150]})

第二个数据框 Lookup_Country 是一个查找表,用于将“Standort”列链接到“Land”列,并将“Standort”的值替换为“Country”的值

Lookup_Country = pd.DataFrame({'Land': ['Vereinigte Staaten', 'Großbritannien (UK)', 'Belgien'],
                'Country': ['United States', 'United Kingdom', 'Belgium']})

如何使用数据框 Lookup_Country 替换“Standort”列的值,以便获得第三个数据框

df3= pd.DataFrame({'Standort': ['United States', 'Australien', 'Belgium'],
                'value': [100, 300, 150]})

标签: pythonpandasdataframe

解决方案


您可以使用 pd.Series.map

df['Standort'] = df['Standort'].map(Lookup_Country.set_index('Land')['Country']).fillna(df['Standort'])

        Standort  value
0  United States    100
1     Australien    300
2        Belgium    150

推荐阅读