代码之家  ›  专栏  ›  技术社区  ›  Newskooler

如何创建熊猫数据透视表

  •  1
  • Newskooler  · 技术社区  · 7 年前

    我有下面的数据框,并想用它创建一个透视表。

    数据框

    ID  value
    A   0.093392
    A   0.130599
    A   0.257946
    A   0.274428
    B   0.38097
    B   0.321893
    A   0.279304
    D   0.305667
    C   0.563479
    F   0.216861
    A   0.252754
    A   0.259845
    A   0.370912
    E   0.190137
    E   0.180974
    E   0.178766
    E   0.194251
    G   0.208918
    C   0.495991
    D   0.449585
    D   0.286733
    D   0.425436
    D   0.411018
    B   0.374447
    D   0.214219
    A   0.357509
    E   0.257467
    E   0.058252
    E   0.088913
    D   0.17993
    

    我所做的是:

    df.index = df['ID']
    df_pvt = df.pivot_table(values='value',index='ID', columns=['value'], aggfunc='mean')
    

    但我知道

    KeyError: 'value'
    

    据我所知 columns value values 另外,它也可以工作,但我仍然没有得到所需的数据帧,因为当时没有数据帧 价值观 列我得到的列数和我的值数一样多。

    下面是所需输出的外观:

    ID  Value
    A   0.252965444
    B   0.359103333
    C   0.324656429
    D   0.529735
    E   0.216861
    F   0.164108571
    G   0.208918
    
    2 回复  |  直到 7 年前
        1
  •  5
  •   Mr Tarsa    7 年前

    这里似乎不需要pivot\u表。您可以使用 groupby 达到预期效果

    df.groupby('ID')['Value'].mean()
    
        2
  •  0
  •   BENY    7 年前

    没有 groupby

    df.set_index('ID').value.mean(level=0)
    Out[26]: 
    ID
    A    0.252965
    B    0.359103
    D    0.324655
    C    0.529735
    F    0.216861
    E    0.164109
    G    0.208918
    Name: value, dtype: float64