I have the following 2 dataframes:
df1
product_ID tags
100 chocolate, sprinkles
101 chocolate, filled
102 glazed
df2
customer product_ID
A 100
A 101
B 101
C 100
C 102
B 101
A 100
C 102
我应该能够像这样创建一个新的数据框架。
| customer | chocolate | sprinkles | filled | glazed |
|----------|-----------|-----------|--------|--------|
| A | ? | ? | ? | ? |
| B | ? | ? | ? | ? |
| C | ? | ? | ? | ? |
单元格的内容表示产品属性出现次数。
我使用了merge
,得到了以下结果
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
我们如何从这里到达最终结果? 提前致谢!
np.repeat(df ['customer'],tag_split.map(len))
通过标签的长度重复customer
列中的每个值。list(chain.from_iterable(tag_split))
创建所有逗号分隔元素的单个列表。您可以阅读np.repeat
和itertools.chain.from_iterable
的文档。 - jpp