我用一个for循环和一个group by函数从一个更大的数据框中创建了一个数据框。多索引数据框的所有列名称均为“区域”,所有列的第二级称为“平均值”。我正在按iloc索引列,并希望根据不同的数据框为它们命名。
你能帮帮我吗?当然,如果您采用完全不同的方法,我也将非常感谢。
bis=len(index_df['amount'])
for c, d in zip (index_df['amount'], (bis)):
num[c] = num.iloc[:,[d]]
我收到以下错误消息: “ TypeError:zip参数2必须支持迭代”
答案 0 :(得分:0)
您不能遍历整数,但是可以遍历range
对象,例如range(len(index_df.index))
。但是,无论如何,除非您将pd.DataFrame.pop
与=
结合使用,否则Pandas中的num
用于分配,而不是用于重命名。
如果index_df['amount']
的每一列都与num.columns = index_df['amount']
中的值相关,并且该关系按整数位置对齐,则可以简单地使用赋值:
handleInputs()
就是这样,不涉及手动迭代。