我有兩個資料集;
DF1 包含一個包含短單詞的列。
DF2 有一列包含一系列單詞,在某些情況下,它們以 DF1 中的短單詞開頭
我想在 DF2 中創建一個新列,并且每次 DF1 單詞出現在 DF2 單詞的開頭,然后將該 DF1 單詞放入該位置新創建的列中。
這個想法是一旦完成,我就可以使用匹配的詞合并兩個資料集。
我該怎么做?
DF1
| 參考 |
|---|
| 美國廣播公司 |
| 國防軍 |
| 全球健康指數 |
DF2
| 單詞 |
|---|
| ABC123 |
| DEF456 |
| GHI789 |
DF2 - 所需輸出
| 單詞 | 新專欄 |
|---|---|
| ABC123 | 美國廣播公司 |
| DEF456 | 國防軍 |
| GHI789 | 全球健康指數 |
uj5u.com熱心網友回復:
您可以從列創建模式串列,ref然后嘗試從列中提取它word:
import re
pattern = fr"({'|'.join(re.escape(x) for x in df1['ref'])})"
df2['new column'] = df2['word'].str.extract(pattern)
print(df2)
# Output
word new column
0 ABC123 ABC
1 DEF456 DEF
2 GHI789 GHI
如果它太簡單,你必須使用fuzzy邏輯。你可以檢查這個問題和答案
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/454240.html
