【问题标题】:How to convert values of panda dataframe to columns如何将熊猫数据框的值转换为列
【发布时间】:2020-12-23 22:25:27
【问题描述】:

我有一个数据集如下:

weekid type amount
1       A    10   
1       B    20
1       C    30
1       D    40
1       F    50

2       A    70
2       E    80
2       B    100

我正在尝试根据以下定义的类型值的总数将其转换为另一个熊猫框架:

import pandas as pd
import numpy as np

df=pd.read_csv(INPUT_FILE)
for type in df["type"].unique():
    //todo

我的目标是得到下面给出的数据:

weekid type_A type_B type_C type_D type_E type_F
    1    10    20      30     40     0     50
    2    70    100     0      0      80    0   

是否有任何特定函数可以将唯一值转换为列并将每个 weekId 组的缺失值填充为 0?我想知道如何有效地完成这种转换?

【问题讨论】:

    标签: python-3.x dataframe unique-values


    【解决方案1】:

    您可以使用以下内容:

    df = df.pivot(columns=['type'], values=['amount'])
    df.fillna(0)
    dfp.columns = dfp.columns.droplevel(0)  
    

    鉴于您的输入,这会产生:

    type    A   B   C   D   F
    weekid                  
    1   10.0    20.0    30.0    40.0    50.0
    2   70.0    80.0    100.0   0.0 0.0
    

    【讨论】:

    • 它没有返回我想要的数据。它返回 (8,6) 熊猫数据框而不是 (7,2)。
    • 抱歉,我对我的解决方案进行了修改。
    • 很高兴听到这个消息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 2016-01-19
    • 2021-12-18
    • 2017-08-26
    • 2022-01-19
    相关资源
    最近更新 更多