首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有限制使用熊猫的旋转数据行数的函数?

是否有限制使用熊猫的旋转数据行数的函数?
EN

Stack Overflow用户
提问于 2020-05-26 08:08:28
回答 1查看 30关注 0票数 0

我用熊猫在python中旋转数据集。在应用枢轴之后,熊猫中有什么功能可以限制基于枢轴列的行数吗?例如,我有这样一个数据集:

代码语言:javascript
复制
col1, col2, col3
A, 100, X
A, 200, Y
A, 300, Z
B, 500, X
B, 600, Y
B, 700, Z

在支点被应用到wrt col3之后,让我们假设dataset变成这样:

代码语言:javascript
复制
col1,   col2
A       600
  col3, col2
  X     100
  Y     200
  Z     300

B       1800
  col3, col2
  X     500
  Y     600
  Z     700

现在,我希望限制每个col1值的col1值,例如,每col1 2行,如下所示:

代码语言:javascript
复制
col1,   col2
A       600
  col3, col2
  X     100
  Y     200

B       1800
  col3, col2
  X     500
  Y     600

这对熊猫来说有可能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-26 09:21:40

“熊猫”不会为你做我想做的布局。这段代码将把你带到你需要的地方。

代码语言:javascript
复制
df2 = pd.pivot_table(df, values='col2', index=['col1','col3'], aggfunc='sum').reset_index()
df3 = df2.groupby('col1')['col2'].sum().reset_index()

new_df = (pd.concat([df2, df3], keys=['col1','col2'], axis=0, ignore_index=True)
          .fillna('A').sort_values(['col1','col3'], ascending=[True, True]))
new_df = new_df.groupby('col1').apply(lambda x: x[:-1])

new_df.set_index(['col1','col3'], drop=True)

        col2
col1 col3   
A   A   600
   X    100
   Y    200
B   A   1800
   X    500
   Y    600
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62017391

复制
相关文章

相似问题

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