Python 在透视表输出中选择列
我想在创建透视表后选择一列,但它不适合我 pivot表使其成为多索引,因此我尝试在reset\u index(inplace=True)中使用reset\u index,但我不理解reset对输出的作用 创建一个表:Python 在透视表输出中选择列,python,pandas,multi-index,Python,Pandas,Multi Index,我想在创建透视表后选择一列,但它不适合我 pivot表使其成为多索引,因此我尝试在reset\u index(inplace=True)中使用reset\u index,但我不理解reset对输出的作用 创建一个表: df = {'TYPE' : pd.Series(['Advisory','Advisory1','Advisory1','Advisory2','Advisory2','Advisory3','Advisory3']), 'VALUE' : pd.Series([1, 2, 3
df = {'TYPE' : pd.Series(['Advisory','Advisory1','Advisory1','Advisory2','Advisory2','Advisory3','Advisory3']),
'VALUE' : pd.Series([1, 2, 3, 4, 5, 1, 4])}
df = pd.DataFrame(df)
制作轴:
output = pd.pivot_table(df, ['VALUE'], ['TYPE'],aggfunc=[np.sum])
重置索引(无就地为真)并选择列:
output2 = output.reset_index()
output2['VALUE']
output3 = output.reset_index(inplace=True)
output3['VALUE']
重置索引(inplace为True)并选择列:
output2 = output.reset_index()
output2['VALUE']
output3 = output.reset_index(inplace=True)
output3['VALUE']
我希望得到列值的值,但我得到了错误:
输出2:'值'
Output3:'NoneType'对象不可下标您可以使用:
输出[“sum”][“VALUE”]
您可以使用:输出[“sum”][“VALUE”]
您可以使用元组访问值
output2[('sum', 'VALUE')]
0 1
1 5
2 9
3 5
您可以使用元组访问
VALUE
output2[('sum', 'VALUE')]
0 1
1 5
2 9
3 5
另一个选项是不通过传递带有括号的signle aggfunc来创建多索引,这将创建一个列表。只需传递单个函数
output = pd.pivot_table(df, 'VALUE', ['TYPE'], aggfunc=np.sum)
print(output)
VALUE
TYPE
Advisory 1
Advisory1 5
Advisory2 9
Advisory3 5
另一个选项是不通过传递带有括号的signle aggfunc来创建多索引,这将创建一个列表。只需传递单个函数
output = pd.pivot_table(df, 'VALUE', ['TYPE'], aggfunc=np.sum)
print(output)
VALUE
TYPE
Advisory 1
Advisory1 5
Advisory2 9
Advisory3 5
您可以删除多索引签出的级别
droplevel
您可以删除多索引签出的级别droplevel