根据列中的唯一值为多个列创建虚拟对象
Create Dummies for Multiple Columns on Unique Value in a Column
我有一个数据框,如下所述,我有多个 CTI 和 RESOLUTION 类别,目标是为 CTI 和 RESOLUTION 类别以及没有该特定帐户条目的类别创建虚拟变量。
ACCOUNT | CTI | RESOLUTION
59737001 Data:HI Customer Owned Issue / Customer Equipment
59737001 Data:HI Repaired / Replaced Drop Underground
13847688 Data:OK Not Repaired
我的预期输出是
ACCOUNT | CTI_Data:HI | CTI_DATA:OK| RESOLUTION_Customer Owned... | RESOLUTION_Repaired/Repla.... | RESOLUTION_Not Repaired
59737001 1 0 1 1 0
我知道 pd.get_dummies()
适用于获取多个类别的假人,但我的情况不同。
感谢任何帮助
我相信您可以同时使用 pd.get_dummies()
和 df.groupby().any()
来获得它。 groupby().any()
将 return TRUE/FALSE,因此您以转换为 int
结束
df2 = pd.get_dummies(df,columns=['CTI','RESOLUTION']) # df is what you have in your first example. Putting in the columns here restricts dummies to just those columns.
df2.groupby('ACCOUNT').any().astype(int)
我有一个数据框,如下所述,我有多个 CTI 和 RESOLUTION 类别,目标是为 CTI 和 RESOLUTION 类别以及没有该特定帐户条目的类别创建虚拟变量。
ACCOUNT | CTI | RESOLUTION
59737001 Data:HI Customer Owned Issue / Customer Equipment
59737001 Data:HI Repaired / Replaced Drop Underground
13847688 Data:OK Not Repaired
我的预期输出是
ACCOUNT | CTI_Data:HI | CTI_DATA:OK| RESOLUTION_Customer Owned... | RESOLUTION_Repaired/Repla.... | RESOLUTION_Not Repaired
59737001 1 0 1 1 0
我知道 pd.get_dummies()
适用于获取多个类别的假人,但我的情况不同。
感谢任何帮助
我相信您可以同时使用 pd.get_dummies()
和 df.groupby().any()
来获得它。 groupby().any()
将 return TRUE/FALSE,因此您以转换为 int
df2 = pd.get_dummies(df,columns=['CTI','RESOLUTION']) # df is what you have in your first example. Putting in the columns here restricts dummies to just those columns.
df2.groupby('ACCOUNT').any().astype(int)