Pandas:将逗号分隔的列转换为多列
我有以下 Pandas DataFrame:
import pandas as pd
import numpy as np
df = pd.DataFrame({'id': [1, 2, 3, 4], 'type': ['a,b,c,d', 'b,d', 'c,e', np.nan]})
我需要根据逗号分隔符拆分类型列,并将值转换为多个列以获得此
我查看了Pandas 文档中的pivot() 并搜索了stackoverflow。我没有找到任何似乎可以(直接或间接)实现我在这里需要做的事情。有什么建议吗?
编辑:
enke 的解决方案使用 Pandas 1.3.5 工作。但是,它无法使用最新版本 1.4.1。这是屏幕截图:
I have the following Pandas DataFrame:
import pandas as pd
import numpy as np
df = pd.DataFrame({'id': [1, 2, 3, 4], 'type': ['a,b,c,d', 'b,d', 'c,e', np.nan]})
I need to split the type column based on the commma delimiter and pivot the values into multiple columns to get this
I looked at Pandas documentation for pivot() and also searched stackoverflow. I did not find anything that seems to achieve (directly or indirectly) what I need to do here. Any suggestions?
Edited:
enke's solution works using Pandas 1.3.5. However it does not work using the latest version 1.4.1. Here is the screenshot:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 str.get_dummies 来获取虚拟变量;然后
join
回到df
:输出:
You could use
str.get_dummies
to get the dummy variables; thenjoin
back todf
:Output: