我有大約 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 列是一個普通的字符串 Series,而 Invalids 是一系列字符串列表。我想要的是最后一行輸出一個布爾向量,但 isin() 似乎不適用于一系列列表??紤]到它需要再做 30 次,我如何相對快速地做到這一點?
1 回答

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