【发布时间】:2020-10-27 11:04:32
【问题描述】:
我正在使用熊猫数据框。我有像这样的数据帧:
df
COUNTRY LINE PRODUCT SERVICE
Argelia 1 1.0 Mobile
Argelia 1 2.0 Mobile
Argelia 1 3.0 Mobile
Argelia 2 1.0 Mobile
Argelia 3 2.0 Mobile
Argelia 3 3.0 Mobile
我想按 LINE 分组并透视 PRODUCT 列,但我需要 4 个产品列(product_1、product_2、product_3 和 product_4),它不关心是否有任何 PRODUCT 值 = 4。
我正在尝试将get_dummies 与此代码一起使用:
df = pd.concat([df, pd.get_dummies(dfs['PRODUCT'], prefix='product')], axis=1)
df.drop(['PRODUCT'], axis=1, inplace=True)
df = df.groupby(['COUNTRY', 'LINE', 'SERVICE']).agg({'product_1' : np.max, 'product_2': np.max, 'product_3':np.max, 'product_4':np.max}).reset_index()
但它只给了我 3 列产品,我希望 4 列有这个数据框:
COUNTRY LINE SERVICE product_1 product_2 product_3 product_4
Argelia 1 Mobile 1 1 1 0
Argelia 2 Mobile 1 0 0 0
Argelia 3 Mobile 0 1 1 0
有可能吗?
(我也需要将 PRODUCT 值类型 1.0 更改为 1)
【问题讨论】:
标签: python pandas dataframe pivot-table