我正在尝试在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部分)。
我现在使用集合而不是数组,因为它会删除重复的值。