具有一系列列表的熊猫的元素明智“输入”

时间:2020-04-22 07:02:21

标签: python python-3.x pandas numpy python-3.6

我有大约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次,我如何相对快速地做到这一点?

1 个答案:

答案 0 :(得分:0)

最后一行实际上是对test['PA_14']的每个元素(str)进行测试的,如果它是test['Invalids']的元素(列表)之一。
你可以试试: boolean_index = [s in list_s for (s, list_s) in zip(test['PA_14'], test['Invalids'])]