带有不均匀条目数量的Pandas透视表

3

我将尝试转换表格 (df):

area    cat   value
0       A       3
0       B       2
1       A       9
2       A       8
2       B       3
2       C       1
df2
area    A     B    C
0       3     2    nan
1       9     nan  nan
2       8     3     1

我曾尝试使用 df2=df.pivot(index='area',columns='cat',value='value'),但是出现了错误:

'Exception: Data must be 1-dimensional'

看起来是因为在索引 area 中,成员数量不均导致的,应该如何解决这个问题呢?
谢谢您的帮助。
祝好,
Tom
1个回答

1

你可以尝试使用pivot_table,将列指定为cat。

  df = pd.read_csv(StringIO.StringIO(data))
  print df

   area cat  value
0     0   A      3
1     0   B      2
2     1   A      9
3     2   A      8
4     2   B      3
5     2   C      1

  print pd.pivot_table(df, index=['area'], columns=['cat'])

cat      A    B    C
area
0      3.0  2.0  NaN
1      9.0  NaN  NaN
2      8.0  3.0  1.0

更具体地说,pivot_table 函数期望 indexcolumn 参数传入的是列的序列,而不是单个列名。 - Paul H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接