我有一个包含医疗保险受益人的数据集。问题是:“在自变量阿尔茨海默病、关节炎、癌症、慢性阻塞性肺疾病、抑郁症、糖尿病、heart.failure、ihd、肾脏、骨质疏松和中风等自变量中,有多少比例的患者至少患有一种慢性疾病?”
我试着创建一个子集并使用isnull() & any(),但是我无法得到一个合适的解决方案。也尝试过df.loc,但它只允许我命名一列。
我是附加数据集,以更好地理解!
https://drive.google.com/file/d/1R--YEsBCDHMXjqNzAumT2zzUAYvM1bWA/view?usp=sharing
谢谢!!
我的尝试是:
claimss.loc[:, ["alzheimers","diabetes","arthritis"] == 1](想先尝试3列,一开始就不起作用。)
尝试使用子集:
filtered_df = df.loc[raw_df] == 1](创建一个子集,其中只有索引和独立变量(疾病)出现,并试图查找空行)
发布于 2022-07-18 11:13:21
如果只需要筛选某些列名,则使用子集作为筛选列的名称,通过1通过DataFrame.eq进行比较,最后通过DataFrame.any测试至少一个True。
claimss[claimss[["alzheimers","diabetes","arthritis"]].eq(1).any(axis=1)]如果需要百分比,请使用mean和布尔掩码:
out = claimss[["alzheimers","diabetes","arthritis"]].eq(1).any(axis=1).mean()https://stackoverflow.com/questions/73021336
复制相似问题