首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将具有多个逗号分隔标签的DF列解析到各个列中

将具有多个逗号分隔标签的DF列解析到各个列中
EN

Stack Overflow用户
提问于 2019-05-19 05:18:00
回答 1查看 157关注 0票数 0

我在Pandas DataFrame中有一个字符串列,其中有一些逗号分隔的标签。

例如:

代码语言:javascript
复制
Row 1: "A, G, Z"
Row 2: "H"
Row 3: "A, H"

我需要为每个标签创建一个名为A,B,C,D…的列。如果存在列名为(A,B,...)的标签,则在相应的行/列中具有1在标签字符串中,否则设置添加的列值为0。

因此,在上面的示例中,我需要添加以下列/值:

代码语言:javascript
复制
       A, G, H, Z
Row 1: 1, 1, 0, 1
Row 2: 0, 0, 1, 0
Row 3: 1, 0, 1, 0

我考虑过对行进行迭代,但在一些地方读到它会影响性能。

我想知道你是否可以提供一些想法,如何在不对行进行迭代的情况下做到这一点,或者以性能优化的方式利用迭代……

EN

Stack Overflow用户

发布于 2019-05-19 06:23:30

是的,pandas.Series.str确实为此提供了一种方法:

解决方案

代码语言:javascript
复制
# replace `col` with your column name
dummies = df['col'].str.get_dummies(sep=',')

# assign generated columns to data frame
df[dummies.columns] = dummies

可选

我注意到在给定的示例中可能会出现空格问题,以下是删除空格然后生成列的解决方案:

代码语言:javascript
复制
# replace `col` with your column name
df['col'].str.replace(' ', '').str.get_dummies(sep=',')

链接:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.str.get_dummies.html

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56202923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档