首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在枢轴表输出中选择列

在枢轴表输出中选择列
EN

Stack Overflow用户
提问于 2019-08-15 12:18:04
回答 3查看 273关注 0票数 1

我想在创建了一个枢轴表之后选择一个列,但是它不适合我。

pivot表使它成为多个索引,所以我尝试使用reset_index en reset_index(inplace=True),但是我不明白重置对输出的作用。

创建一个表:

代码语言:javascript
复制
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)

使枢轴:

代码语言:javascript
复制
output = pd.pivot_table(df, ['VALUE'], ['TYPE'],aggfunc=[np.sum])

重置索引(不带inplace为True)并选择列:

代码语言:javascript
复制
output2 = output.reset_index()
output2['VALUE']

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

代码语言:javascript
复制
output3 = output.reset_index(inplace=True)
output3['VALUE']

我希望得到列值的值,但是我得到了错误:

Output2:“价值”

Output3:“NoneType”对象不可订阅

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-08-15 13:13:32

另一个选项是不通过传递带有括号的signle来创建multiindex,后者创建了一个列表。只需传递一个函数。

代码语言:javascript
复制
output = pd.pivot_table(df, 'VALUE', ['TYPE'], aggfunc=np.sum)

print(output)

           VALUE
TYPE            
Advisory       1
Advisory1      5
Advisory2      9
Advisory3      5
票数 0
EN

Stack Overflow用户

发布于 2019-08-15 12:24:38

你可以用:output["sum"]["VALUE"]来做。

票数 0
EN

Stack Overflow用户

发布于 2019-08-15 12:29:19

您可以使用元组访问VALUE

代码语言:javascript
复制
output2[('sum', 'VALUE')]

0    1
1    5
2    9
3    5
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57509533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档