我有一個問題要解決。我需要從給定key_words串列中創建新列并將它們在資料框中的出現求和。
key_words = ['蘋果','動物','每個人']
輸入資料框:
| ID | 描述 | xx |
|---|---|---|
| 1 | 蘋果是一種健康的水果。每個人都應該吃它。 | .. |
| 2 | 獅子是一種危險的動物。 | .. |
| 3 | 每個人都喜歡他。 | .. |
我想得到什么:
| ID | 描述 | xx | 蘋果 | 動物 | 每個人 |
|---|---|---|---|---|---|
| 1 | 蘋果是一種健康的水果。每個人都應該吃它。 | .. | 1 | 0 | 1 |
| 2 | 獅子是一種危險的動物。 | .. | 0 | 1 | 0 |
| 3 | 每個人都喜歡他。 | .. | 0 | 0 | 1 |
非常感謝任何幫助。
uj5u.com熱心網友回復:
這對你有用
key_words = ['apple', 'animal', 'everyone']
for key in key_words:
df[key] = df['description'].str.lower().str.count(key)
uj5u.com熱心網友回復:
keys = ['apple', 'animal', 'everyone']
df['apple'], df['animal'], df['everyone'] = (
zip(*list([len(re.findall(f'(?i){k}', r)) for k in keys] for r in df['description']))
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/530224.html
標籤:Python列表数据框
上一篇:在匹配條件后從串列中選擇值
