首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从已有的数据帧创建新的数据帧?

如何从已有的数据帧创建新的数据帧?
EN

Stack Overflow用户
提问于 2018-06-08 07:54:56
回答 1查看 954关注 0票数 3

我有以下两个数据帧:

df1

代码语言:javascript
复制
product_ID         tags
100         chocolate, sprinkles
101         chocolate, filled
102         glazed

df2

代码语言:javascript
复制
customer   product_ID
A            100
A            101
B            101
C            100
C            102
B            101
A            100
C            102

我应该能够像这样创建一个新的数据帧。

代码语言:javascript
复制
| customer | chocolate | sprinkles | filled | glazed |
|----------|-----------|-----------|--------|--------|
| A        | ?         | ?         | ?      | ?      |
| B        | ?         | ?         | ?      | ?      |
| C        | ?         | ?         | ?      | ?      |

其中单元格的内容表示产品属性的出现次数。

我使用了merge,得到了如下结果

代码语言:javascript
复制
df3 = pd.merge(df2, df1)
df3.drop(['product'], axis = 1)

customer       tags
A        chocolate, sprinkles
C        chocolate, sprinkles
A        chocolate, sprinkles
A        chocolate, filled
B        chocolate, filled
B        chocolate, filled
C        glazed
C        glazed

我们如何从这里得到最终结果?提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2018-06-08 09:02:15

使用get_dummies

代码语言:javascript
复制
df.set_index('customer').tags.str.get_dummies(sep=',').sum(level=0)
Out[593]: 
          chocolate  filled  glazed  sprinkles
customer                                      
A                 3       1       0          2
C                 1       0       2          1
B                 2       2       0          0
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50751620

复制
相关文章

相似问题

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