簡體   English   中英

Pandas Pivot錯誤“例外:數據必須為一維”

[英]Pandas Pivot Error “Exception: Data must be 1-dimensional”

我正在將Pycharm(2018.2.4版本)與運行於其上的Python 3.6.7一起使用。

我目前嘗試使用pandas樞紐函數,甚至使用示例代碼:

import pandas as pd
df = pd.DataFrame({'foo':['one', 'one', 'one', 'two', 'two','two'],'bar': 
  ['A', 'B', 'C', 'A', 'B', 'C'],'baz': [1, 2, 3, 4, 5, 6],'zoo': ['x', 
   'y', 'z', 'q', 'w', 't']})
df.pivot(index='foo', columns='bar', values=['baz', 'zoo'])

導致錯誤: 異常:數據必須為一維

僅當我將一列列表傳遞給values參數時,才有這種情況,但是此示例直接來自函數幫助: https : //pandas.pydata.org/pandas-docs/stable/generation/pandas.DataFrame。 pivot.html

它過去曾經為我工作,但本周已停止工作,不知道為什么。 我的熊貓版本是0.23.4,numpy版本是1.15.4。

有人知道導致此問題/如何解決它的原因嗎?

謝謝!

在Jupyter Notebook中使用Pandas:0.22.0和numpy:1.14.0進行測試時,我能夠重新創建相同的錯誤。

我無法弄清楚為什么會發生此問題,但我將示例中的代碼重寫為

import pandas as pd
df = pd.DataFrame({'foo': ['one', 'one', 'one', 'two', 'two',
                          'two'],
                  'bar': ['A', 'B', 'C', 'A', 'B', 'C'],
                   'baz': [1, 2, 3, 4, 5, 6],
                   'zoo': ['x', 'y', 'z', 'q', 'w', 't']})

df.set_index(['foo','bar'],inplace=True)
df.unstack(level=1)

並獲得了預期的輸出(如pandas doc所示

希望這可以幫助!

以下對我有用。 試試看!

 import pandas as pd df = pd.DataFrame({'foo':['one', 'one', 'one', 'two', 'two','two'],'bar': ['A', 'B', 'C', 'A', 'B', 'C'],'baz': [1, 2, 3, 4, 5, 6],'zoo': ['x', 'y', 'z', 'q', 'w', 't']}) df.pivot(index='foo', columns='bar')[['baz', 'zoo']] 

如果您將其制成字典,則可以正常使用。 嘗試這個!

df = pd.DataFrame({'foo':['one', 'one', 'one', 'two', 'two','two'],'bar': 
  ['A', 'B', 'C', 'A', 'B', 'C'],'baz': [1, 2, 3, 4, 5, 6],'zoo': ['x', 
   'y', 'z', 'q', 'w', 't']})
df.pivot(index='foo', columns='bar', values=['baz', 'zoo'])

#output:

    baz zoo
bar A   B   C   A   B   C
foo                     
one 1   2   3   x   y   z
two 4   5   6   q   w   t

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM