[英]Rename columns with a loop in Pandas
我需要用 ~100 列重命名数据框(pandas)的所有列。 我创建了一个列表,其中存储了所有新名称,我需要一个方便的函数来重命名它们。 许多在线解决方案都在“手动”处理旧列名,这在这种大小下是不可能的。
我尝试了一个简单的 for 循环,例如:
for i in range(0,96):
df.columns[i] = new_cols_list[i]
这就是我在 r 中的做法,但它抛出了一个错误:
“索引不支持可变操作”
您所要做的就是:
df.columns = new_cols_list
仅当您必须重命名所有列时才使用它。 new_col_list 是包含大小等于列数的列的新名称的列表。
当您必须重命名特定列时,请使用“重命名”,如其他答案中所示。
使用重命名功能:
# df = some data frame
# new_col_list = new column names
# get the old columns names
old_columns = list(df)
# rename the columns inplate
df.rename(columns={old_columns[idx]: name for (idx, name) in enumerate(new_col_list)}, inplace=True)
另见: https : //pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.rename.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.