有人听说可以将 yaml 文件传递给 python 脚本来重命名 pandas 数据框中的列。但我不知道该怎么做,也不确定是否发现了有用的东西。
例如yaml:
mappings:
new_column_name1: [old_name_1, old_name_2, old_name_3, old_name_4],
new_columns_name2: [old_name_5, old_name_6, old_name_7, old_name_8]
df:
old_name1 old_name_6
1 4
3 6
6 31
是否可以使用这样的yaml文件来重命名列(每个列名称出现在列表[old_name_1, old_name_2, old_name_3, old_name_4]
重命名为new_column_name1
)和最好的方法是什么?
我知道我没有提供任何我尝试过的代码,但我真的不知道。 此外,欢迎任何有关重命名多个数据框中大量列的良好实践的其他建议。
最佳答案
您的示例似乎不是合法的 YAML。相反,它应该是这样的:
mappings:
new_column_name1:
- old_name_1
- old_name_2
- old_name_3
- old_name_4
等等。
无论如何,如果您安装pyaml
,您可以使用类似以下内容:
from pyaml import yaml
d = yaml.load(open('foo.yaml', 'r'))['mappings']
cols = []
for c in df.columns:
cols.append(c)
for k, v in d.items():
if c in v:
cols[-1] = k
break
df.columns = cols
关于python - 使用 yaml 文件重命名 Pandas 数据框列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49814768/