簡體   English   中英

Python Pandas Pivot與Pivot_table

[英]Python pandas pivot vs pivot_table

如果我有一個大熊貓多指標數據幀,如果通過我的文檔閱讀pivotpivot_table我似乎無法找出原因的pivot並不在這個例子中工作。 顯然我遺漏了一些東西,但是它采用了相同的參數,似乎暗示它會起作用。 我在這里想念什么? 為什么pivot引發錯誤,但pivot_table pivot卻可以pivot_table工作。 謝謝。

# standard imports
import pandas as pd

# create a random multiindex dataframe
outside = ['G1','G1','G1','G2','G2','G2']
inside = [1,2,3,1,2,3]
hier_index = list(zip(outside,inside))
hier_index = pd.MultiIndex.from_tuples(hier_index)
df = pd.DataFrame(np.random.randn(6,1),index=hier_index,columns=['A'])
df.index.names = ['Group', 'Num']

# show the original dataframe
print(df)

# successfully pivots the dataframe as requested
print(df.pivot_table(index='Group', columns='Num', values='A'))

# causes a KeyError on 'Group' - not understanding why
print(df.pivot(index='Group', columns='Num', values='A'))

這里功能pivot不適用於MultiIndex ,解決方案是DataFrame.reset_index用於將級別轉換為列:

print(df.reset_index().pivot(index='Group', columns='Num', values='A'))
Num           1         2         3
Group                              
G1    -0.121167 -2.008585 -0.920647
G2     0.168234 -1.319892  1.266429

我認為在groupby-enhancements隱藏了pivot_table nice的原因-您可以按級別和類似的pivot_table使用groupby

暫無
暫無

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

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