python-MultiIndex列DataFrame的成对差异
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-MultiIndex列DataFrame的成对差异,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含831字,纯文字阅读大概需要2分钟。
内容图文
我有一个带有MultiIndex列的DataFrame,如下所示:
columnIdx1 = ["M1", "M2", "M3", "M4"]
columnIdx2 = ["pos", "neg"]
df = pd.DataFrame(data=np.random.randn(1000, 8), columns=pd.MultiIndex.from_product([columnIdx1, columnIdx2]))
然后,我使用df.mean()计算此平均值,得出相同的列,但只有一行.
A:
M1 M2 M3 M4
pos neg pos neg pos neg pos neg
1 8 2 7 3 6 4 5
现在,我想像这样计算每个负数和正数的差:
B:
M1 M2 M3 M4
7 5 3 1
我的第一个想法是将columnIdx1列转换为行索引,但是我没有找到方法:
pos neg
M1 1 8
M2 2 7
M3 3 6
M4 4 5
解决方法:
使用Series.unstack进行重塑,然后减去列:
df = df.mean().unstack()
df['diff'] = df['neg'] - df['pos']
print (df)
neg pos diff
M1 0.023254 0.017009 0.006245
M2 -0.028798 -0.054146 0.025349
M3 -0.007544 -0.013178 0.005634
M4 0.049680 -0.046202 0.095882
内容总结
以上是互联网集市为您收集整理的python-MultiIndex列DataFrame的成对差异全部内容,希望文章能够帮你解决python-MultiIndex列DataFrame的成对差异所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。