具有一系列列表的Pandas元素智能“输入”

2024-05-14 13:44:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有大约30列,如果列表列的值在该行中,我希望更改该列的值。这有点难以用语言描述,所以这里有一些代码来说明我所说的:

test = test.groupby('RealId')['Player'].apply(list).reset_index(name='Invalids')
test.index = te["RealId"]
test.drop("RealId", axis='columns', inplace=True)
test = test.join(te, on="RealId", how="left")

test['PA_14'].isin(test['Invalids'])

PA_14列是一系列正常字符串,而Invalids是一系列字符串列表。我想让最后一行输出一个布尔向量,但isin()似乎无法处理一系列列表。考虑到还需要再做30次,我是如何相对快速地做到这一点的


Tags: 字符串代码test语言列表indexlistapply
1条回答
网友
1楼 · 发布于 2024-05-14 13:44:11

您的最后一行实际上测试了test['PA_14']的每个元素(str),如果它是test['Invalids']的元素(list)之一
您可以尝试: boolean_index = [s in list_s for (s, list_s) in zip(test['PA_14'], test['Invalids'])]

相关问题 更多 >

    热门问题