我有以下资料:
这些是患者索引日期前后处方药的计数
PREINDEX_N_DRUG_A_TAG POSTINDEX_N_DRUG_A_TAG PREINDEX_N_DRUG_B_TAG POSTINDEX_N_DRUG_B_TAG PREINDEX_N_DRUG_C_TAG POSTINDEX_N_DRUG_C_TAG
0 8 0 8 0 8
0 2 4 0 8 4
2 0 0 4 3 5
我喜欢根据各种组合和标准筛选病人
我做了一个严格的函数如下:
def filter_data(df):
df = df[
(df['PREINDEX_N_DRUG_A_TAG']>8) &
(df['POSTINDEX_N_DRUG_A_TAG']==2) &
(df['PREINDEX_N_DRUG_B_TAG']==0) &
(df['POSTINDEX_N_DRUG_B_TAG']>=2)
]
但是,我想使函数更灵活,这样用户就可以指定条件的数量和形式
例如,我希望函数使用command_dict
信息,例如
command_dict = {
'Command1': ['PREINDEX_N_DRUG_A_TAG', '>', 8, '&'],
'Command2': ['POSTINDEX_N_DRUG_A_TAG', '==', 2, '&'],
'Command3': ['PREINDEX_N_DRUG_B_TAG', '==', 0, '&'],
'Command4': ['POSTINDEX_N_DRUG_B_TAG', '>=', 2, '&'],
'Command5': ['PREINDEX_N_DRUG_A_TAG', '>', 8, '&'],
'Command6': ['PREINDEX_N_DRUG_A_TAG', '>', 8, '&'],
}
并且能够像刚性函数一样执行函数
这是
query
的完美用例相关问题 更多 >
编程相关推荐