Python 使用列表元素重命名多个dfs的列
我有5个数据帧,分别是control1,control2,control3,control4,control5。我正在重新命名他们的专栏。但是我想重命名名为10(整数名)的列,每个列的文件中都有元素。 大概是这样的:Python 使用列表元素重命名多个dfs的列,python,pandas,rename,Python,Pandas,Rename,我有5个数据帧,分别是control1,control2,control3,control4,control5。我正在重新命名他们的专栏。但是我想重命名名为10(整数名)的列,每个列的文件中都有元素。 大概是这样的: control1.rename(columns={10:'02042020.txt'}, inplace=True) control2.rename(columns={10:'05032020.txt'}, inplace=True) #...... etc
control1.rename(columns={10:'02042020.txt'}, inplace=True)
control2.rename(columns={10:'05032020.txt'}, inplace=True)
#...... etc etc
这是我的代码:
lista_controles=[control1,control2,control3,control4,control5]
files=['02042020.txt','05032020.txt','12032020.txt','19032020.txt','26032020.txt']
for df in lista_controles:
df.rename(columns={2:'NOMBRE_ESTACION'}, inplace=True)
for i in files
df.rename(columns={10:f'{i}'}, inplace=True)
但仅使用列表的第一个元素(0204200.txt)重命名。我怎样才能解决这个问题?谢谢.这是因为当
df.rename(columns={10:f'{i}},inplace=True)
第一次运行时,它将名称“10”更改为“0204200.txt”。在第二次迭代中,不再有任何名为“10”的列,因此它什么也不做,因为它只是被更改为“0204200.txt”
你可以试试:
用于枚举中的i、df(列表控制):
rename(columns={2:'NOMBRE_ESTACION'},inplace=True)
rename(columns={10:files[i]},inplace=True)
要实现这一点,请确保
lista_控件
和文件
中的元素数量相等。如果没有,还有其他方法。不客气。实际上,这里唯一不同的是枚举
。你可以用谷歌搜索它,了解它是什么。剩下的只是逻辑,通过练习可以提高。这是一个练习python的好地方。