我想提取一列中的特定文本,并想知道是否可以從該列中的行中提取特定序列并將它們添加到新列中。
由此:
|studios|
|-------|
|[{'mal_id': 14, 'name': 'Sunrise'}]|
|[{'mal_id': 34, 'name': 'Hal Film Maker'}]|
|[{'mal_id': 18, 'name': 'Toei Animation'}]|
|[]|
|[{'mal_id': 455, 'name': 'Palm Studio'}]|
對此:
|studios|
|-------|
|Sunrise|
|Hal Film Maker|
|Toei Animation|
|[]|
|Palm Studio|
uj5u.com熱心網友回復:
您可以使用.str從列中專案的串列/字典中訪問索引/鍵,并使用 和 的組合來回退到pipe結果回傳 NaNwhere的原始值:.str
df['studios'] = df['studios'].str[0].str['name'].pipe(lambda x: x.where(x.notna(), df['studios']))
注意:您可能需要將專案轉換df['studio']為實際物件,以防它們只是看起來像物件的字串。為此,請在運行上述代碼之前運行它:
import ast
df['studios'] = df['studios'].apply(ast.literal_eval)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/441285.html
