[英]Replace column name with matching value in seperate dataframe
任務描述
我有df
和df1
並希望將df1
中列country
中的df
列名更改為loc
中的字符串。 例如,澳大利亞成為 AU。 最終的 output 將是df2
。 任何幫助都會超級好!!
數據幀
df
Date Argentina Australia United Kingdom United States
1983-03-31 0.001 0.053206 0.001 0.160159
1983-04-30 0.001 0.053206 0.001 0.160159
1983-05-31 0.001 0.053206 0.001 0.160159
df1
country loc
Argentina AR
Australia AU
United Kingdom GB
United States US
最終所需 output
df2
Date AR AU UK US
1983-03-31 0.001 0.053206 0.001 0.160159
1983-04-30 0.001 0.053206 0.001 0.160159
1983-05-31 0.001 0.053206 0.001 0.160159
使用pandas.DataFrame.rename
:
new_df = df.rename(columns=df2.set_index("country")["loc"])
print(new_df)
Output:
Date AR AU GB US
0 1983-03-31 0.001 0.053206 0.001 0.160159
1 1983-04-30 0.001 0.053206 0.001 0.160159
2 1983-05-31 0.001 0.053206 0.001 0.160159
略有不同的方法,也有rename
,但創建一個用於名稱轉換的dictionary
:
df2 = df.rename(columns=df1['loc'].to_dict())
產量:
Date AU AR GB US
0 1983-03-31 0.001 0.053206 0.001 0.160159
1 1983-04-30 0.001 0.053206 0.001 0.160159
2 1983-05-31 0.001 0.053206 0.001 0.160159
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.