使用pandas将字符串列表转换为虚拟变量 [英] convert list of strings to dummy variables with pandas
本文介绍了使用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
时,此功能将无效.
If each row could only have 1 tag I could do this with pd.get_dummies(df, columns=['tags'])
but this doesn't work when tags
is a List
.
推荐答案
str.get_dummies
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
包括join
include 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
这篇关于使用pandas将字符串列表转换为虚拟变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文