亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據一列列表訪問數據框的行。如果列表中存在唯一字符串,則將查看該行

根據一列列表訪問數據框的行。如果列表中存在唯一字符串,則將查看該行

揚帆大魚 2022-07-19 17:05:57
這很難解釋,所以我無法用谷歌搜索我的問題。我有一個數據框。該數據框的一列包含列表。每行都有一個字符串列表。列表大小不一。有些行沒有列表,但有一個 NaN 值。我希望能夠查看列表中包含任意字符串的數據框行。因此,如果我想查找列表中包含“arbitrary_string”作為列表元素的所有行,則將選擇這些行。我想使用術語“corndog”來返回第 1 行和第 2 行的視圖。字符串列表中的位置無關緊要。我的同事建議我嘗試將 lambdas 和 apply 以及一個特殊函數一起使用。他們的例子對我不起作用。他們提議:def find_id(inpList:list,inpstr):      print(inpList)    for x in inpList:        if inpstr in x:            return(1)    return(0)Df[list_of_strings].apply(lambda x: find_id(x, cust string))我不確定我在做什么。我不明白這些東西是如何拼湊在一起的。
查看完整描述

1 回答

?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

IIUC,我認為你可以使用這個:


原始df:


+----+-----------+--------------+----------------------------+

|    | some_int  | some_string  |      List_of_strings       |

+----+-----------+--------------+----------------------------+

| 0  |       84  | something    | [‘cat’,’dog’,’corndog’]    |

| 1  |       74  | etc          | [‘qwetry’,’celphone’]      |

| 2  |       64  | etc          | [‘dog’,corndog’]           |

| 3  |       89  | etc          | [‘etc’,’catfish’,’purple’] |

+----+-----------+--------------+----------------------------+


df[df['List_of_strings'].str.contains('corndog')]

輸出:



    some_int    some_string  List_of_strings

0   84          something   [‘cat’,’dog’,’corndog’]

2   64              etc     [‘dog’,corndog’]

編輯 考慮到列值是列表類型而不是字符串,您可以使用以下內容:


df[df['List_of_strings'].apply(lambda x: 'corndog' in x)]


查看完整回答
反對 回復 2022-07-19
  • 1 回答
  • 0 關注
  • 76 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號