繁体   English   中英

如何使用for循环和从其他df派生的新列名重命名df的列?

[英]How do I rename columns of a df with a for loop and new column names deriving from other df?

我使用for循环和按功能分组,从更大的数据框中获得了一个数据框。 多索引数据框的所有列名称均为“区域”,所有列的第二级称为“平均值”。 我正在按iloc索引列,并希望根据不同的数据框为它们命名。

你能帮我吗? 当然,如果您采用完全不同的方法,我也将非常感激。

bis=len(index_df['amount'])
for c, d in zip (index_df['amount'], (bis)): 
    num[c] = num.iloc[:,[d]]

我收到以下错误消息:'TypeError:zip参数#2必须支持迭代'

您不能遍历整数,但是可以遍历range对象,例如range(len(index_df.index)) 但是,无论如何,除非将其与pd.DataFrame.pop结合使用,否则Pandas中的=用于分配,而不是用于重命名。

如果num每一列都与index_df['amount'] ,并且该关系按整数位置对齐,则可以简单地使用赋值:

num.columns = index_df['amount']

就是这样,不涉及手动迭代。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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