如果我有以下 Pandas DataFrame
:
pd.DataFrame(columns=['name', 'tags'], data=[
['Rob', ['a', 'c']],
['Erica', ['b', 'c']]
])
表格:
Name tags
Rob ['a', 'c']
Erica ['b', 'c']
我如何将其转换为:
Name tags_a tags_b tags_c
Rob 1 0 1
Erica 0 1 1
如果每一行只能有 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
包含加入
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
关于python - 使用 Pandas 将字符串列表转换为虚拟变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43945816/