繁体   English   中英

重新格式化熊猫表 - 我想要一个支点吗?

[英]Reformatting pandas table - do I want a pivot?

我确定这很简单,但我的大脑被冻结了,有很多不同的pivottranspose方法。 在这个阶段提示会很好。

我有这个数据框:

当前数据名

我要这个:

dsied 数据框

我知道如何到达这里,如果这有帮助,但我不确定它是否有帮助

临时数据名

仅供参考 - 实际数据有更多列,我需要根据“站点”列将这四个列分开,重新格式化所有内容,计算一些百分比,将各个部分重新组合在一起,最终得到如下结果:

决赛桌

我希望如果我能走上正确的轨道来重新格式化部分数据,我可以重复这个过程......

(然后我需要弄清楚如何运行卡方检验,但那是以后…… :-(

最简单的解决方法是df.stack

df = pd.DataFrame({'MIC-m': [138, 3, 22, 45],
                   'MIC-t': [34, 90, 30, 53],
                   'MIC-q': [73, 13, 53, 68],
                   'Total': [229, 229, 229, 229]}, index=['H', 'L', 'M', 'X'])

# Drop total, because we need sum of columns, not rows
df.drop(columns='Total', inplace=True)

# Get final result
df = pd.DataFrame(df.append(df.sum().rename('Total')).T.stack(), columns=['count'])

产量:

             count
MIC-m H        138
      L          3
      M         22
      X         45
      Total    208
MIC-t H         34
      L         90
      M         30
      X         53
      Total    207
MIC-q H         73
      L         13
      M         53
      X         68
      Total    207

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM