我有一個資料框,我想創建一個新列,如果特定列中存在字串,則將該字串輸出為新列的值加上 3 個空格。
例子-
在此示例中,我想搜索字串“Note”,如果該字串存在于列注釋中,則將“Note”以及之后的三個空格中的內容放入。
前:
| ID | 零件號 | 筆記 |
|---|---|---|
| 1 | a1b33 | 蘋果 |
| 2 | hhgh5667 | 香蕉、Note 55 和菠蘿 |
| 3 | hhgh5667 | 注 1A 和藍莓 |
| 4 | 09890ii | 黑莓 |
后:
| ID | 零件號 | 筆記 | note_number |
|---|---|---|---|
| 1 | a1b33 | 蘋果 | 不適用 |
| 2 | hhgh5667 | 香蕉、Note 55 和菠蘿 | 注釋 55 |
| 3 | hhgh5667 | 注 1A 和藍莓 | 注 1A |
| 4 | 09890ii | 黑莓 | 不適用 |
uj5u.com熱心網友回復:
您可以使用正則運算式 withstr.extract來捕獲從 Note 到逗號之前的所有內容。
df['Note_number'] = df.note.str.extract('(Note.*)(?=\,)')
輸出
id partNumber note Note_number
0 1 a1b33 apples NaN
1 2 hhgh5667 banana, Note 55, and pineapples Note 55
2 3 hhgh5667 Note 1A, and blueberries Note 1A
3 4 09890ii blackberries NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/386233.html
