【问题标题】:Changing column name dynamically in Python在 Python 中动态更改列名
【发布时间】:2023-04-01 13:25:01
【问题描述】:

我有一个包含 50 列的数据框。索引行的问题在于,所有列都命名为:未命名。

我想重命名这些列。我知道使用数据框可以这样重命名列:

df.rename(columns={"A": "a", "B": "c"})

但由于我有 50 列,为了学习和提高效率,我想通过循环重命名列。

我想将 column 0 重命名为 'Name'column 1 重命名为 Country,其余的重命名为 Group 1, Group 2 等等。

到目前为止,这是我对第 3 列到第 50 列的解决方案。我正在考虑手动重命名前 2 列,因为我无法在循环中找到更好的方法。

for col in df.columns[2:]:
    start = 'Group'
    x = 1
    name = '{}'+x.format(start)
    df = df.rename(columns={col:name})
    x = x+1

我收到以下错误:

AttributeError: 'int' object has no attribute 'format'

现在我明白了,这是因为 x 值。但我无法想出一种方法让列名为每一列动态更改。

【问题讨论】:

    标签:
    python
    python-3.x
    dataframe
    for-loop