1
我是python和編程的一般新手。熊貓條件性返回值在另一列中的相應位置
我想弄清楚如何在熊貓不同列中的相應位置上返回一個逗號分隔值並將此輸出存儲在一個新列中。見下面
key_list = [cat, dog, pig]
A B
---------------------
1 cat
1, 2 dog, cat
1, 2, 3 pig, dog, cat
我的例子中,我希望有一個輸出,如下所示:
A B cat_result dog_result pig_result
----------------------------------------------------------------
1 cat 1 NAN NAN
6, 2 dog, cat 2 6 NAN
8, 3, 1 pig, dog, cat 1 3 8
所以,我想能夠檢查按鍵的存在(A,B或C)在列B中,則如果存在,則返回列A中的值,該值位於該單元格中對應的逗號分隔值中。
到目前爲止,我有這樣的:
for key in key_list:
df["{}_result".format{key}] = df.apply(lambda _: int(key in _.B), axis=1)
這將爲每個key_result一個新列,然後給予1如果該鍵爲B中存在或0,如果沒有。不知道該從哪裏出發,或者這是否正確。任何幫助深表感謝。謝謝!
這真是太棒了,我真的很抱歉,但在簡化問題時,我將鍵減少爲單個字母,是否有適應整個短語的方法,例如, key_list = [貓,狗,豬]而不是key_list = [a,b,c]?我會更新以添加原文Q. – 0mm3
無論哪種方式工作。 – piRSquared
非常感謝,花時間! – 0mm3