如何在每个元素包含一组的Python数据框中搜索项目

时间:2019-04-10 13:48:32

标签: python pandas set match

我正在尝试在Python数据框中搜索集合中的项目,其中数据框中的每个元素都包含一个集合或NaN。

codes是一个集合,看起来像:

{8.5,
 8.7,
 10.0,
 8.0,
 8.52,
...
 31.1}

我将遍历codes中的每个项目,并想返回数据框中包含每个项目的行。

数据框包含大约800列和500,000行。 数据帧的每个元素都是一个集合,例如{859.0,10.0}或NaN

如何在数据帧中搜索codes中的每个代码?

最初,我的数据框包含数组而不是集合。这样,我可以做dataframe.isin(codes),它返回所有False的数据帧。 isin很快,我在数据帧的每一列都尝试过,但似乎无法在数组内部读取,因此在尝试匹配时返回False。

我尝试过:

for column in dataframe.columns:
    dataframe[column].apply(pd.Series)

将数组拆分为单独的列,然后执行isin搜索codes。可以,但是太慢了(花了几天时间运行pd.Series部分)。

我现在使用集合而不是数组,因为它会删除重复的值。

0 个答案:

没有答案