首页 > 解决方案 > 拆分并转移到相应的列

问题描述

我有一个如下的数据框。未排序和可变数量的字符。

+-------+
| Items |
+-------+
| X,Y,Z |
+-------+
| Z,X,Y |
+-------+
|  Z,X  |
+-------+
|   Y   |
+-------+

我想将每个条目拆分,并输入相应的列。1如果值可用并且0不可用,则为数字。

我想要的输出如下

+-------+---+---+---+
| Items | X | Y | Z |
+-------+---+---+---+
| X,Y,Z | 1 | 1 | 1 |
+-------+---+---+---+
| Z,X,Y | 1 | 1 | 1 |
+-------+---+---+---+
|  Z,X  | 1 | 0 | 1 |
+-------+---+---+---+
|   Y   | 0 | 1 | 0 |
+-------+---+---+---+

我知道如何将数据框拆分为df['Items'].str.split(','). 但是输入相应的列是问题所在。因为'这些项目是未排序的。见第 1 行和第 2 行。相同,但未排序。

请指导我应该如何解决这个问题。

标签: pythonpandas

解决方案


我们有pd.Series.str.get_dummies()

df=df.join(df.Items.str.get_dummies(','))

推荐阅读