python – 如何在多索引pandas数据帧中选择嵌套列

python – 如何在多索引pandas数据帧中选择嵌套列,第1张

概述我创建了一个像这样的3D Pandas数据帧: A= ['ECFP', 'ECFP', 'ECFP', 'FCFP', 'FCFP', 'FCFP', 'RDK5', 'RDK5', 'RDK5']B = ['R', 'tau', 'RMSEc', 'R', 'tau', 'RMSEc', 'R', 'tau', 'RMSEc']C = array([[ 0.1 , 0.3 , 0. 我创建了一个像这样的3D Pandas数据帧:

A=  ['ECFP','ECFP','FCFP','RDK5','RDK5']B = ['R','tau','RMSEc','R','RMSEc']C = array([[ 0.1,0.3,0.5,nan,0.6,0.4 ],[ 0.4,0.4,0.3 ],[ 1.2,1.3,1.1,1.5,1.  ],0.8,0.1,0.2 ],[ 0.2,0.6 ],[ 1.,1.2,1.,0.9,0.7,[ 0.6,0.5 ],0.97,1.  ]])df = pd.DataFrame(data=C.T,columns=pd.MultiIndex.from_tuples(zip(A,B)))df = df.dropna(axis=0,how='any')

最终的Dataframe如下所示:

ECFP            FCFP            RDK5                R  tau RMSEc    R  tau RMSEc    R  tau RMSEc0  0.1  0.4   1.2  0.4  0.2   1.0  0.4  0.6   1.21  0.3  0.3   1.3  0.3  0.3   1.2  0.7  0.5   1.52  0.5  0.3   1.1  0.4  0.3   1.0  0.5  0.3   1.34  0.6  0.4   1.5  0.1  0.5   1.2  0.6  0.3   1.55  0.4  0.3   1.0  0.2  0.6   1.0  0.6  0.5   1.0

如何才能在所有类型的数据(‘ECFP’,’FCFP’,’RDK5′)的’R’值之间获得相关矩阵?

解决方法 使用 IndexSlice:

In [53]: df.loc[:,pd.IndexSlice[:,'R']]Out[53]:  ECFP FCFP RDK5     R    R    R0  0.1  0.4  0.41  0.3  0.3  0.72  0.5  0.4  0.54  0.6  0.1  0.65  0.4  0.2  0.6
总结

以上是内存溢出为你收集整理的python – 如何在多索引pandas数据帧中选择嵌套列全部内容,希望文章能够帮你解决python – 如何在多索引pandas数据帧中选择嵌套列所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1194344.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存