ValueError:对于MultiIndex,名称应该是类似列表的

时间:2018-05-19 20:23:08

标签: python pandas

如何在数据框转动后避免错误?

import pandas as pd
import numpy as np

df = pd.DataFrame({'foo': ['one', 'one', 'one'],
               'baz': [1, 2, 3],
               'zoo': ['x', 'y', 'z']})

df1 = df.pivot('baz', 'zoo', 'foo')
column = (1, 2)
df1[column] = np.nan

2 个答案:

答案 0 :(得分:1)

您需要使用loc或iloc来设置值。例如,代码中的最后一行可能是:

 new webpack.ProvidePlugin({
    $: 'jquery', 
    jQuery: "jquery",
    "window.jQuery": "jquery"
  }), 

将第1列和第2列设置为np.nan或:

df1.iloc[:,column] = np.nan

将标记为1和2的行设置为np.nan

答案 1 :(得分:0)

您的行:

df1 = df.pivot('baz', 'zoo', 'foo')

等效于:

df1 = df.pivot(index='baz', columns='zoo', values='foo')

所以您的索引是“ baz”列。您正在尝试编制索引

df1[(1,2)]

但这是一个元组索引。您的索引实际上是整数。因此,以下是一些可行的示例:

df1[1] 
df1[2] 

会工作的。