微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python:如何从 DF 中提取将作为索引的列,并且该列是布尔值 0 或 1

如何解决Python:如何从 DF 中提取将作为索引的列,并且该列是布尔值 0 或 1

我们正在使用这个 df:


import numpy as np
import pandas as pd
import plotly.graph_objects as go 
heart_df=pd.read_csv("https://raw.githubusercontent.com/Turgibot/BigData/master/DataSets/heart_d.csv")

我们需要绘制年龄分布上的 TenYearRisk 疾病风险图。 输出应该是这样的:

      Yes          No
age     
32  0.000000    1.000000
33  0.000000    1.000000
34  0.000000    1.000000
35  0.060606    0.939394
36  0.025974    0.974026

我认为我们需要使用 pivot_table 但不知道如何将列拆分为是和否。 我只有这个:


   pivot = heart_df.pivot_table(index=heart_df.age,values='TenYearCHD')

输出为:

    TenYearCHD
age
32  0.000000
33  0.000000
34  0.000000
35  0.060606
36  0.025974

解决方法

您可以在数据帧上使用 groupby

heart_df.groupby('age').mean().TenYearCHD

收益

age                                                                                                                     
32    0.000000                                                                                                          
33    0.000000                                                                                                                      
34    0.000000                                                                                                          
35    0.047619
....               

编辑:

要准确获得您想要的结果,请执行以下操作:

hd = heart_df.groupby('age').mean().TenYearCHD
nHd = 1. - hd
pd.DataFrame({'Yes':hd,'No':nHd})     

收益

      Yes        No
age
32   0.000000  1.000000
33   0.000000  1.000000
34   0.000000  1.000000
35   0.047619  0.952381
36   0.035714  0.964286                                                                             

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。