繁体   English   中英

在 Pandas 中使用循环重命名列

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM