我正在学习数据科学,并想为我的数据集制作虚拟变量。
我有一个具有“产品类别”列的数据框,该列是匹配类别的列表,类似于 ["Category1", "Category2".."CategoryN"]
我知道 Pandas 有很好的功能,可以自动生成虚拟变量(pandas.get_dummies),但在这种情况下,我不能使用它,我猜(?)。
我知道如何遍历每一行以将 1 附加到每列的匹配元素。我目前的代码是这样的:
for column_name in df.columns[1:]: #first column is "Product Category" and appended dummy columns (product category names) to the right previously
for index, _ in enumerate(df[column_name][:10]): #limit 10 rows
if column_name in df["Product Category"][index]:
df[column_name][index] = 1
但是,上面的代码效率不高,我不能使用它,因为我有超过 100,000 行。我想以某种方式对整个数组进行操作,但我不知道该怎么做。
有人可以帮忙吗?