Python 当不同的类别连接成一个没有分隔符的字符串时,如何在Pandas中使用get_假人?
考虑下面的例子Python 当不同的类别连接成一个没有分隔符的字符串时,如何在Pandas中使用get_假人?,python,pandas,Python,Pandas,考虑下面的例子 df=pd.DataFrame({'col':['ABC','BDE','DE',np.nan,]}) df Out[216]: col 0 ABC 1 BDE 2 DE 3 NaN 我想为col中的每个字母创建一个虚拟变量 在本例中,我们有5个假人:A、B、C、D、E。实际上,在第一行中,“ABC”对应于类别A、类别B和类别C 使用get_dummies失败 df.col.str.get_dummies(sep='') Out[217]: ABC
df=pd.DataFrame({'col':['ABC','BDE','DE',np.nan,]})
df
Out[216]:
col
0 ABC
1 BDE
2 DE
3 NaN
我想为col中的每个字母创建一个虚拟变量
在本例中,我们有5个假人:A、B、C、D、E。实际上,在第一行中,“ABC”
对应于类别A、类别B和类别C
使用get_dummies
失败
df.col.str.get_dummies(sep='')
Out[217]:
ABC BDE DE
0 1 0 0
1 0 1 1
2 0 0 1
3 0 0 0
实际上,第一行的预期输出应该是
A B C D E
0 1 1 1 0 0
你还有其他想法吗?
谢谢 您可以使用
Series.str.join
在每个字符之间引入分隔符,然后使用get\u dummies
df.col.str.join('|').str.get_dummies()
结果输出:
A B C D E
0 1 1 1 0 0
1 0 1 0 1 1
2 0 0 0 1 1
3 0 0 0 0 0
您可以使用
Series.str.join
在每个字符之间引入分隔符,然后使用get\u dummies
df.col.str.join('|').str.get_dummies()
结果输出:
A B C D E
0 1 1 1 0 0
1 0 1 0 1 1
2 0 0 0 1 1
3 0 0 0 0 0