Python 在透视表输出中选择列

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

我想在创建透视表后选择一列,但它不适合我

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, 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