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

标签 python pandas dataframe rename

我使用 for 循环和分组功能从更大的数据帧创建了一个数据帧。多索引数据框的所有列的名称为“Area”,所有列的第二级称为“mean”。我正在按 iloc 对列进行索引,并希望根据不同的数据框为它们指定名称。

你能帮我一下吗?当然,如果您有完全不同的方法,我也很感激。

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

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

最佳答案

您不能迭代整数,但可以迭代 range对象,例如范围(len(index_df.index))。但是,无论如何,Pandas 中的 = 用于赋值,而不是用于重命名,除非将其与 pd.DataFrame.pop 结合使用。 .

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

num.columns = index_df['amount']

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

关于python - 如何使用 for 循环和从其他 df 派生的新列名重命名 df 的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53999313/

相关文章:

python - 如何使用 Python Pillow 加载图像?

csv - 使用 python pandas 转置 csv 结构

将数据帧作为一个整体复制 n 次

python - 如何将 pandas 列移动到第一列的最后一行下方?

python - 使用多个条件对 Pandas 进行排序和重新分组

python - Pandas:给定不均匀空间的索引列表对数据帧进行重新采样

python - 如何根据错误值找到两个 pandas 系列之间的交集

Python/ Pandas : Create column in appended file based on Excel cell

python - 如何让日志记录模块函数使用不同的记录器?

python - 如何比较两个 pandas 数据帧并删除一个文件上的重复项而不附加其他文件中的数据