【发布时间】:2016-03-11 10:36:45
【问题描述】:
我正在尝试编写一个函数,该函数将返回一系列满足某些条件的 DataFrame 行。
说白了就是这样:
def get_measurement(measurements_base, data_selection, condition_id="", subject_id="", scan_type_id=""):
measurement_path = data_selection[(data_selection["condition"] == condition_id)&(data_selection["subject"] == subject_id)&(data_selection["scan_type"] == scan_type_id)]["measurement"]
然而,我希望每个条件(由& 分隔的语句)仅在实际指定要检查的变量时应用。比如:
logical_set=[]
if condition_id:
logical_set.extend((data_selection["condition"] == condition_id))
我知道它不会像这样工作 - 但是解决这个问题的有效且(如果可能)优雅的方法是什么?
【问题讨论】:
标签: python pandas dataframe filtering