在数据透视表输出中选择列

时间:2019-08-15 12:18:04

标签: python pandas multi-index

创建数据透视表后,我想选择一列,但对我不起作用

数据透视表使它成为多索引,因此我尝试使用reset_index和reset_index(inplace = True),但我不明白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])

重置索引(在原位不为True)并选择列:

output2 = output.reset_index()
output2['VALUE']

重置索引(位置为True)并选择列:

output3 = output.reset_index(inplace=True)
output3['VALUE']

我希望获取列VALUE的值,但出现错误:

输出2:“ VALUE”

Output3:“ NoneType”对象不可下标

3 个答案:

答案 0 :(得分:0)

您可以执行以下操作:output["sum"]["VALUE"]

答案 1 :(得分:0)

您可以使用元组访问VALUE

output2[('sum', 'VALUE')]

0    1
1    5
2    9
3    5

答案 2 :(得分:0)

另一种选择是不通过将签名的aggfunc传递给创建列表的方括号来创建多索引。只需传递单个功能即可。

<v-text-field label="Title" v-model="title" prepend-icon="folder" :rules="inputRules"></v-text-field>
...