【问题标题】:Pivot table error "Can't assign to operator"数据透视表错误“无法分配给操作员”
【发布时间】:2020-08-03 05:21:17
【问题描述】:

运行“无法分配给操作员”下方的代码时出现此错误

df_2 = pd.pivot_table(df, index = df.columns[~df.columns.str.startswith('A')],
                         values = df.columns[ df.columns.str.startswith('A')])

我想汇总所有不以 A 开头的列,并按照此处的建议将所有数据写入以 A 开头的列:

How to groupby and pivot a dataframe with non-numeric values

任何帮助将不胜感激。

【问题讨论】:

  • 您介意添加mcve吗?
  • 我让专注于手头的问题变得更加简单。可以吗?
  • 你的意思是df_2
  • 我现在更正了。是的。只是给它起了另一个名字。

标签: python pandas pivot-table data-handling


【解决方案1】:

我认为分配索引和值时存在一些问题。我做了一个mcve,下面的代码适用于我的情况

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(6,4),
                  columns=["A1", "A2","B1", "B2"])

cols_index = list(df.columns[~df.columns.str.startswith('A')])
cols_values = list(df.columns[ df.columns.str.startswith('A')])

pd.pivot_table(df, index=cols_index, values=cols_values)

如果您的 df 这不起作用,请尝试添加您的数据样本。

【讨论】:

  • 好的,我现在知道你所说的 mcve 是什么意思了。谢谢您的帮助。我会试试看。
  • 它给了我错误“TypeError: '
  • 我明白,但是如果我有 198 列和 4080 行,我该怎么做呢?不知道如何重新创建与您创建的数据集不同的数据集。有的列有字符串数据,有的数据取值为 NaN,会不会有区别?
猜你喜欢
  • 2017-02-13
  • 1970-01-01
  • 1970-01-01
  • 2016-02-06
  • 1970-01-01
  • 2019-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多