【问题标题】:Error when try adding a column to a dataframe尝试将列添加到数据框时出错
【发布时间】:2021-08-03 07:32:39
【问题描述】:

我首先尝试从原始数据框中切出一些列,然后将附加列“INDEX”添加到最后一列。

    df = df.iloc[:, np.r_[10:17]]  #col 0~6
    df['INDEX'] = df.index  #col 7

我有第二行的错误消息说'正在尝试在 DataFrame 的切片副本上设置一个值。尝试改用 .loc[row_indexer,col_indexer] = value'
为什么我会看到这种情况,我应该如何解决?

【问题讨论】:

标签: python pandas dataframe


【解决方案1】:

我愿意

df.loc[:,'INDEX'] = df.index

【讨论】:

    【解决方案2】:

    默认情况下,Python 会进行数据帧的浅拷贝。因此,无论对数据帧执行什么操作,它实际上都会在原始数据帧上执行。而消息正是表明这一点。

    以下任何一个都会让 Python 解释器开心?:

    df = df.iloc[:, np.r_[10:17]].copy()

    df.loc[:, ['INDEX']] = df.index

    【讨论】:

      猜你喜欢
      • 2014-01-08
      • 1970-01-01
      • 2020-01-18
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-22
      • 1970-01-01
      相关资源
      最近更新 更多