如果我有以下熊猫DataFrame:
pd.DataFrame(columns=['name', 'tags'], data=[
['Rob', ['a', 'c']],
['Erica', ['b', 'c']]
])
Run Code Online (Sandbox Code Playgroud)
表:
Name tags
Rob ['a', 'c']
Erica ['b', 'c']
Run Code Online (Sandbox Code Playgroud)
我如何将其转换为:
Name tags_a tags_b tags_c
Rob 1 0 1
Erica 0 1 1
Run Code Online (Sandbox Code Playgroud)
如果每行只能包含1个标记,则可以使用此标记,pd.get_dummies(df, columns=['tags'])但当tags是时,此标记将不起作用List。
str.get_dummies
df.tags.str.join('|').str.get_dummies().add_prefix('tags_')
tags_a tags_b tags_c
0 1 0 1
1 0 1 1
Run Code Online (Sandbox Code Playgroud)
包括 join
df[['name']].join(df.tags.str.join('|').str.get_dummies().add_prefix('tags_'))
name tags_a tags_b tags_c
0 Rob 1 0 1
1 Erica 0 1 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1692 次 |
| 最近记录: |