我有一个独特的名字列表(确切地说是4300)。唯一的名字=['James'、'Erika'、'Akshay'、'Neil'等]。 我在数据框中有一列,每一行都有自己的名称列表。 我必须从我的唯一名称列表中找出此列中的哪些行包含名称。你知道吗
我尝试过掩蔽,但每次它只返回2行,而不是所有包含我列表中一个名称的行。你知道吗
for name in unique_names:
if name in unique_names:
mask = df['names'].apply(lambda x: name in x)
df1 = df[mask]
我的预期结果是,对于列表中包含唯一名称的每一行,我只返回两行,其中包含名称列表中的名称'Akshay',尽管我看到其他行包含名称,如'Neil'和'Erika',但没有返回。你知道吗
我会重新考虑你是怎么解决这个问题的。首先,您的原始代码首先遍历名为unique\u names的容器中的名称,然后检查它是否在unique\u names中。每一次迭代都将通过该测试,因为您从测试其成员资格的同一容器中提取它们。你知道吗
我最好的建议是迭代行而不是名称。伪代码如下:
我希望下面这些就足够了。你知道吗
如果
unique_names
是set
并且每行的名称数很小:或:
相关问题 更多 >
编程相关推荐