首页 > 解决方案 > 通过布尔函数过滤熊猫数据框

问题描述

我需要使用仅在一列字符串上的函数来过滤熊猫数据框。

这是数据框的示例:

  ID  Titles    Values
0  1  title1   value1
1  2  title2   value2
2  3  title3   value3
...

我有一个复杂的功能:

def checkTitle(title:str) -> bool :
    ...

我想用这个函数在列标题上过滤第一个数据帧,只有函数发送 True 的行。

我尝试了类似的方法,但它没有返回任何可用的东西:

df = df.apply(checkTitle(df["Titles"]),axis=1)

你能帮忙吗?

标签: pythonpandasdataframeapply

解决方案


您可以将该函数仅应用于数据框的一列,然后使用生成的布尔系列来选择行:

select = df.Titles.apply(checkTitle)
df = df.loc[select, :]

推荐阅读