如果我在Pandas中有一个多索引数据帧,如果我仔细阅读pivot
和pivot_table
的文档,我似乎找不到pivot
在本例中不起作用的原因。很明显,我遗漏了一些东西,但它采用相同的参数,似乎表明它会起作用。我错过了什么?为什么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
,解决方案是^{我认为工作} 中—您可以按级别和类似的
pivot_table
好的原因隐藏在^{pivot_table
使用groupby
。你知道吗相关问题 更多 >
编程相关推荐