我有大約 30 列我希望更改一個(gè)值,如果該值在該行中的一列列表中。這有點(diǎn)難以口頭描述,所以這里有一些我正在談?wù)摰拇a: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 列是一個(gè)普通的字符串 Series,而 Invalids 是一系列字符串列表。我想要的是最后一行輸出一個(gè)布爾向量,但 isin() 似乎不適用于一系列列表。考慮到它需要再做 30 次,我如何相對(duì)快速地做到這一點(diǎn)?
1 回答

拉莫斯之舞
TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
您的最后一行實(shí)際上測(cè)試了每個(gè)元素(str)test['PA_14']
是否是 的元素(列表)之一test['Invalids']
。
你可以試試: boolean_index = [s in list_s for (s, list_s) in zip(test['PA_14'], test['Invalids'])]
添加回答
舉報(bào)
0/150
提交
取消