我有大约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次,我是如何相对快速地做到这一点的
您的最后一行实际上测试了
test['PA_14']
的每个元素(str),如果它是test['Invalids']
的元素(list)之一您可以尝试:
boolean_index = [s in list_s for (s, list_s) in zip(test['PA_14'], test['Invalids'])]
相关问题 更多 >
编程相关推荐