python - 使用列表中的名称重命名列
问题描述
例如我有一个名字列表:
name_list = ['a', 'b', 'c']
和3个数据框:
>> df1
>> k l m
0 12 13 14
1 13 14 15
>> df2
>> o p q
0 10 11 12
1 15 16 17
>> df3
>> r s t
0 1 3 4
1 3 4 5
我想要做的是将每个数据框的第一列替换为 name_list 中的每个名称。因此,a 将替换 k,b 将替换 o,c 将替换 r。
输出将是:
>> df1
>> a l m
0 12 13 14
1 13 14 15
>> df2
>> b p q
0 10 11 12
1 15 16 17
>> df3
>> c s t
0 1 3 4
1 3 4 5
我可以手动完成,但如果有最好的方法会更好。谢谢
解决方案
我完全同意@ALollz 但你可以尝试类似
df1 = pd.DataFrame([[1,2,3]], columns=['k', 'l', 'm'])
df2 = pd.DataFrame([[1,2,3]], columns=['o', 'p', 'q'])
df3 = pd.DataFrame([[1,2,3]], columns=['r', 's', 't'])
name_list = ['a', 'b', 'c']
for index, name in enumerate(name_list, 1):
df = pd.eval('df{index}'.format(index=index))
df.rename(
columns = {
df.columns[0]: name,
}, inplace=True)
推荐阅读
- python - 跳转到另一个类后如何返回主类?
- c# - LINQ:方法“GroupBy”没有重载需要 6 个参数/IGrouping
不包含定义 - machine-learning - 为什么 K-fold 交叉验证会构建 K+1 模型?
- javascript - 图像未显示在 github 页面上
- powershell - 用于获取部分 XML 节点内容的 Powershell 脚本
- c++ - 如何使用 USB 2 最小化延迟
- python - Python - 解析 INI 文本(不是 INI 文件)
- firebase - Crashlytics/Firebase 中的搜索选项,我可以在其中按崩溃名称进行搜索?
- c# - 如何提高二维数组的性能?
- apache-spark - 在运行时选择所有列 spark sql,没有预定义的模式