python - 在单独的数据框中用匹配值替换列名
问题描述
任务描述
我已经df
并且df1
希望将in 列中df
的列名更改为 in 中的字符串。例如,澳大利亚成为 AU。最终输出将是. 任何帮助都会超级好!!country
df1
loc
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
最终期望的输出
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)
输出:
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
推荐阅读
- .net-core - 当我添加相关实体时,实体状态被修改未添加
- r - 如何旋转 tf$keras$preprocessing$image$apply_affine_transform 的边界框
- javascript - 非导出函数的 Mocha 单元测试返回“xx 不是函数”
- arrays - Sending a concatenated bytearray
- python - 当所有方法都返回 NotImplemented 时,为什么 == 不引发“不支持 TypeError”?
- django - Redis 服务器未在 Windows 10 上启动
- java - 如何防止 Spring Data JPA 中的自动更新?
- directx-11 - D3D11 - 如何在没有 Windows 10 的情况下在显示器上启用 HDR
- html - 如何使用物化 CSS 使表单在从应用程序打开时响应手机
- xcode - SwiftUI ScrollView 总是没有 ResponsiveScrolling