pandas在逗号分隔的列上获取dummies创建重复项

0sgqnhkj  于 2023-06-20  发布在  其他
关注(0)|答案(1)|浏览(118)

我有这样一个系列:

0 mcdonalds, popeyes
1 wendys
2 popeyes
3 mcdonalds
4 mcdonalds

我想转换为虚拟变量,我的预期输出如下所示:

popeyes wendys mcdonalds
1       0      1
0       1      0
1       0      0
0       0      1
0       0      1

但是当我使用以下代码时:

t.str.get_dummies(sep = ',')

popeyes wendys mcdonalds popeyes
1       0      1         0
0       1      0         0 
0       0      0         1
0       0      1         0
0       0      1         0

为什么它会把popeyes分成两列,我该怎么解决这个问题?

1u4esq0p

1u4esq0p1#

要将序列转换为虚拟变量,其中每个唯一值都成为一个单独的列,您可以使用pandas库中的get_dummies()函数。但是,在应用get_dummies()之前,请确保通过正确拆分值来预处理系列。下面是一个示例代码片段,应该会有所帮助:

import pandas as pd

# Assume your series is named "series"
dummy_df = series.str.get_dummies(sep=', ')

# Print the resulting dummy variables
print(dummy_df)

通过运行这段代码,您应该得到一个输出数据框,其中系列中的每个唯一值都表示为一个单独的列,填充有1和0。该技术可用于将分类变量编码为适合机器学习模型或进一步分析的格式。

相关问题