如何将从单一分类变量创建的多个虚拟变量列合并为Python中的单一列?

我正在处理IPL数据集,其中包含许多分类变量,其中一个变量是toss_winner。我为这个变量创建了虚拟变量,现在我有15列的二进制值。我想将所有这些列合并为一个单一列,列中的数字从0到14,每个数字代表一个IPL球队。

虚拟变量的屏幕截图


回答:

如果我理解正确,使用以下方法:

df['Team No.'] = dummies.cumsum(axis=1).ne(1).sum(axis=1)

例如,

df = pd.DataFrame({'Toss winner': ['Chennai', 'Mumbai', 'Rajasthan', 'Banglore', 'Hyderabad']})dummies = pd.get_dummies(df['Toss winner'])df['Team No.'] = dummies.cumsum(axis=1).ne(1).sum(axis=1)

结果如下:

# print(dummies)   Banglore  Chennai  Hyderabad  Mumbai  Rajasthan0         0        1          0       0          01         0        0          0       1          02         0        0          0       0          13         1        0          0       0          04         0        0          1       0          0# print (df)  Toss winner  Team No.0     Chennai         11      Mumbai         32   Rajasthan         43    Banglore         04   Hyderabad         2

Related Posts

如何对SVC进行超参数调优?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

如何在初始训练后向模型添加训练数据?

我想在我的scikit-learn模型已经训练完成后再…

使用Google Cloud Function并行运行带有不同用户参数的相同训练作业

我正在寻找一种方法来并行运行带有不同用户参数的相同训练…

加载Keras模型,TypeError: ‘module’ object is not callable

我已经在StackOverflow上搜索并阅读了文档,…

在计算KNN填补方法中特定列中NaN值的”距离平均值”时

当我从头开始实现KNN填补方法来处理缺失数据时,我遇到…

使用巨大的S3 CSV文件或直接从预处理的关系型或NoSQL数据库获取数据的机器学习训练/测试工作

已关闭。此问题需要更多细节或更清晰的说明。目前不接受回…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注