【问题标题】:Renaming Column Not Working even Though Syntax is Correct in Python即使 Python 中的语法正确,重命名列也不起作用
【发布时间】:2022-09-23 19:58:12
【问题描述】:

我一直在尝试重命名我一直在通过 Google-Colab 处理的 csv 文件中的列名。但是同一行代码正在处理一个列名,也不适用于另一列名。

import pandas as pd
import numpy as np
data = pd.read_csv(\"Daily Bike Sharing.csv\",
                   index_col=\"dteday\",
                   parse_dates=True)
dataset = data.loc[:,[\"cnt\",\"holiday\",\"workingday\",\"weathersit\",
                      \"temp\",\"atemp\",\"hum\",\"windspeed\"]]
dataset = dataset.rename(columns={\'cnt\' : \'y\'})
dataset = dataset.rename(columns={\"dteday\" : \'ds\'})
dataset.head(1)

下图是名为的数据框数据

下图是数据集

此图像是我尝试重命名数据框时得到的最终输出。

列名\"日期\" 没有被重命名,但是 \"cnt\"正在被替换\"是的\" 使用相同的代码。有人可以帮帮我吗,我已经为此绞尽脑汁了一段时间了。

  • 您是否尝试重命名名为dtedaydtedate 的列,因为在您的代码中它是dteday,但您指定列名称是dtedate

标签: python dataframe


【解决方案1】:

那是因为你在设置dteday作为您的索引,在读取 csv 时,而cnt很简单就是一列。避免index_col属性在read_csv而是执行数据集 = dataset.set_index('ds')改名后。

仅需要更改倒数第二行(尝试重命名索引)的替代方法:

dataset.index.names = ['ds']

【讨论】:

  • 像魅力一样工作。我试图找到一种方法来重命名索引列,这就是你建议代码的时候。太感谢了。
【解决方案2】:

您可以删除 read 语句中的“index-col”,在数据集中包含“dtedate”,然后更改列名。您可以稍后使用 df.set_index 创建列索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-11
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 2020-02-14
    相关资源
    最近更新 更多