我想在创建了一个枢轴表之后选择一个列,但是它不适合我。
pivot表使它成为多个索引,所以我尝试使用reset_index en reset_index(inplace=True),但是我不明白重置对输出的作用。
创建一个表:
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])重置索引(不带inplace为True)并选择列:
output2 = output.reset_index()
output2['VALUE']重置索引(内嵌为True)并选择列:
output3 = output.reset_index(inplace=True)
output3['VALUE']我希望得到列值的值,但是我得到了错误:
Output2:“价值”
Output3:“NoneType”对象不可订阅
发布于 2019-08-15 13:13:32
另一个选项是不通过传递带有括号的signle来创建multiindex,后者创建了一个列表。只需传递一个函数。
output = pd.pivot_table(df, 'VALUE', ['TYPE'], aggfunc=np.sum)
print(output)
VALUE
TYPE
Advisory 1
Advisory1 5
Advisory2 9
Advisory3 5发布于 2019-08-15 12:24:38
你可以用:output["sum"]["VALUE"]来做。
发布于 2019-08-15 12:29:19
您可以使用元组访问VALUE。
output2[('sum', 'VALUE')]
0 1
1 5
2 9
3 5https://stackoverflow.com/questions/57509533
复制相似问题