繁体   English   中英

当每一行都是一个列表时,如何使用pandas isin()函数?

[英]How do you use pandas isin() function when each row is a list?

例如:

import pandas as pd
data = ['A2', 'A5', 'XS', '2X', '8W']
codes = {'codes':[data]}
df = pd.DataFrame(codes)

                  codes
0  [A2, A5, XS, 2X, 8W]

现在,我想测试一下某些值是否在另一个列表的列表中。

df['wo'] = df.codes.isin(["8C", "8D", "8E", "8W", "A2"])

我不断收到TypeError: unhashable type: 'list'如何解决此问题?

pandasset

您可以使用集合。 减去集合时,会得到集合差异。 比较集时,您将获得适当的子集。 当一个与另一个集合不同的集合是同一集合的适当子集时,那么存在一个交集。

s = df.codes.apply(set)
s - set(["8C", "8D", "8E", "8W", "A2"]) < s

0    True
Name: codes, dtype: bool

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM