![](/img/trans.png)
[英]df.rename does not alter df column names, but df.columns and df.set_axis do (Pandas)
[英]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.