python pandas动态查询传递给函数

时间:2018-08-27 10:44:22

标签: pandas function filtering

我有带有字符串列的数据框。我想在某些功能中使用它的一部分。要使用的零件由传递给函数的条件定义。

def myfunc(condition):
    tmp_df = df[condition].copy()

    #doing something else wit tmp_df

    return some_result

我的问题是:

  1. 如何为字符串列传递条件?例如:

    df.str_column.str.len()> 10

  2. 当我需要使用所有数据框时如何传递空条件?

我找到了数字列的解决方案,但是如何使用字符串呢?

1 个答案:

答案 0 :(得分:0)

我认为有必要创建布尔型掩码:

#boolean mask
cond = df.str_column.str.len()>10
#return all values
cond = [True] * len(df)

myfunc(cond)