从其他 pandas 列创建新列

Creating New columns from other pandas column

我想从流派列创建一个新的 。 流派列包含一个或多个流派,我想为每个流派名称创建一个列。 然后,我想根据他们是否有流派,在每列中填写1和0。

Dataframe 应该如下图所示。

我对此一无所知。

直接使用一个热编码器或 pandas 虚拟函数不起作用,因为我得到了这样的东西

我不需要这样的东西

看起来 Genre 列中的值是 one-hot 编码的。 One-hot 编码也称为创建虚拟变量。

Pandas 有一个函数 pd.get_dummies() 可以让你 one-hot 编码 Genre 列。传入您的数据框并使用 columns 参数到 select Genre 列。

在此处查看函数文档和其他选项:https://pandas.pydata.org/docs/reference/api/pandas.get_dummies.html

您可以使用 CategoricalDtype 如下:

import pandas as pd
from pandas.api.types import CategoricalDtype

df = pd.DataFrame({'country': ['Brazil', 'Australia', 
'Canada','Brazil','Germany']})

pd.get_dummies(df,prefix=['country'])