嗨,我有一個串列和一個 pandas 資料框,其元素也是串列。我想知道 pandas 列串列的任何一個元素是否存在于另一個串列中,并創建一列,如果找到則為 1,如果未找到,則創建一列,另一列將找到的元素作為字串分隔,以,. 我發現了一個類似的問題,但無法理解如何將它用于這里的案例。
如果在串列中找到found任何字母,如何創建一個為 1 的新列,以及將串列中匹配的字母輸出為由分隔的字串的另一列?它想跟隨。lettersletters_listletters_found,

uj5u.com熱心網友回復:
您需要在此處使用回圈。
letters使用串列推導對set常見元素進行有效測驗。然后通過將“letters_found”設定為布林值(空字串變為,其余的)并轉換為具有 0/1來set.intersection檢查是否找到任何字母。FalseTrueint
letters = set(['a', 'b', 'c', 'f', 'j'])
df_temp['letters_found'] = [','.join(sorted(letters.intersection(l)))
for l in df_temp['letters_list']]
df_temp['found'] = df_temp['letters_found'].astype(bool).astype(int)
輸出:
letters_list letters_found found
0 [a, b, c] a,b,c 1
1 [d, e, f] f 1
2 [g, h, i] 0
3 [j, h, i] j 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/425875.html
上一篇:交替展平嵌套串列的值
下一篇:匹配的查詢不存在。在django
