pandas 将要查询的有空值的列使用contains搜索符合的内容
要查询有空值的列并使用contains搜索符合的内容,可以使用以下步骤:
- 首先,使用
isnull()函数来检查每个元素是否为空值。这将返回一个布尔值的DataFrame,其中True表示空值,False表示非空值。
null_df = df.isnull()
- 然后,使用
any()函数将每列的布尔值进行聚合,判断是否存在空值。这将返回一个布尔值的Series,其中True表示该列存在空值,False表示该列没有空值。
null_columns = null_df.any()
- 接下来,使用布尔索引筛选出存在空值的列。
columns_with_null = null_columns[null_columns].index
- 最后,使用
contains()函数对筛选出的列进行搜索。可以使用str.contains()方法对字符串列进行搜索,也可以使用pd.Series.astype()方法将其他类型的列转换为字符串后再进行搜索。
result = df[columns_with_null].apply(lambda x: x.str.contains('search_term', na=False))
在上述代码中,search_term是要搜索的内容。na=False参数用于将空值视为False,以便在搜索时不会引发异常。最终的结果将是一个布尔值的DataFrame,其中True表示相应的元素满足搜索条件,False表示不满足。
请注意,这种方法只适用于字符串列和可以转换为字符串的列。对于其他类型的列,需要根据具体情况进行处理。
原文地址: https://www.cveoy.top/t/topic/i27S 著作权归作者所有。请勿转载和采集!