繁体   English   中英

如何应用 python pandas 公式根据血红蛋白样本对个体进行分类

[英]How to apply python pandas formula to categorise individuals based on their haemoglobin samples

我在 [.[sample xlsx data][1]][1] 屏幕截图中附加了 xls 数据(主表)。

作为 Python 和数据科学的初学者,我正在尝试阅读 xlsx 文件中的表格,如下所示:

加载 pandas

import pandas as pd

# Read CSV file into DataFrame df
sheet1, sheet2 = None, None
with pd.ExcelFile("blood_data.xlsx") as reader:
    sheet1 = pd.read_excel(reader, sheet_name='Master sheet')
    sheet2 = pd.read_excel(reader, sheet_name='Another Sheet')


# Show dataframe
print(sheet1)

我得到了 output 中的所有 110 行和列,但我想根据屏幕截图中以绿色显示的条件进行过滤。 Hb 男性 13-17 和胆红素 0.3-1.2。 如果值不在范围内,我必须打印候选人的姓名。 请帮助我使用 panda 应用基于多列的过滤器来实现我的结果。

示例输入文件: https://github.com/wittymindstech/medical-data-analysis/blob/main/blood_data.xlsx

output:MEHRAWAN、RAKHI 等

你可以试试这样的 -

import pandas as pd

# Read CSV file into DataFrame df
sheet1, sheet2 = None, None
with pd.ExcelFile("blood_data.xlsx") as reader:
    sheet1 = pd.read_excel(reader, sheet_name='Master sheet')

indexes = sheet1[ (sheet1['Gender'] == 'm') & ( sheet1['Hb (g/dl)'] <= 17) &  ( sheet1['Hb (g/dl)'] >= 13) & (sheet1['BILIRUBIN (mg/dL)'] >= 0.3) & (sheet1['BILIRUBIN (mg/dL)'] <= 1.2) ].index
final = sheet1.loc[ sheet1.index.isin(indexes), : ]
print(list(final['NAME ']))

暂无
暂无

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

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