首页 > 解决方案 > 从字符串中过滤出一个值 - 返回一个 ValueError

问题描述

我有以下代码,它采用“job_titles”中列出的关键术语。然后,它使用这些术语在名为“Jobtitle”的列中过滤掉任何不包含“job_titles”中的术语的字符串。

该代码以前可以工作,但是现在它返回此错误:

ValueError:无法使用包含 NA / NaN 值的非布尔数组进行屏蔽

我想知道是否有人可以提供有关如何解决此问题的指导?

请注意,数据框称为 glassdoor。

job_titles = ['data', 'analytics', 'machine learning']

# Creating masks for each job title to identify where they appear
job_masks = [glassdoor.Jobtitle.str.contains(Jobtitle, flags=re.IGNORECASE, regex=True) for Jobtitle in job_titles]
# Combining all masks where any value is True, return True
combined_mask = np.vstack(job_masks).any(axis=0)
combined_mask

# Applying the mask to the dataset
glassdoor = glassdoor[combined_mask].reset_index(drop=True)
listings_after = glassdoor.shape[0]
print(f'After refining job titles there were {listings_after} job listings.')
glassdoor.head(20)

标签: pythonpandas

解决方案


推荐阅读