【问题标题】:groupby pivot KeyErrorgroupby 枢轴键错误
【发布时间】:2017-11-12 20:41:51
【问题描述】:

这是this问题的扩展;我现在正在尝试获取所有描述性统计数据,而不仅仅是总和和标准差。

我从this问题的这个答案中尝试了这段代码:

df = grouped.describe().reset_index().pivot(index=index_columns, values=’price’, columns=’level_1’)

我得到这个错误:

KeyError: ‘level_1’

index_columns = ['daySold','productID']

分组 = df.groupby(index_columns)

有谁知道我做错了什么?

这是数据:

|productID |productCategory |expiryDate |Price |Currency |quantitySold| daySold| 

|Fdgd4   |Ergdgf |15sep2020 00:00:00 |125 |USD |5675 |18feb2017 12:45:17| 
|Sd23454 |sdfdsr |17mar2018 00:00:00 |39  |USD |654  |31jan2017 12:45:17| 
|Fdgd4   |Ergdgf |15sep2020 00:00:00 |125 |USD |300  |18feb2017 09:17:15| 
|Sd23454 |sdfdsr |17mar2018 00:00:00 |39  |USD |200  |31jan2017 15:30:35| 
|Rt4564  |fdgdf  |13jun2018 00:00:00 |45  |USD |1544 |31feb2017 13:25:31| 
|Fdgd4   |Ergdgf |15sep2020 00:00:00 |125 |USD |4487 |18mar2017 09:17:15| 
|Sd23454 |sdfdsr |17mar2018 00:00:00 |39  |USD |7895 |31aug2017 15:30:35|

谢谢

【问题讨论】:

  • Does anyone knows what I’m doing wrong? 问题是你没有提供你的数据或预期的输出,所以我们无法知道你甚至想做什么。我猜是最好的。
  • 对此很抱歉,请参阅我的编辑:这是我之前提出的问题的扩展;现在我正在尝试获取所有描述性统计数据,而不是其中提到的 wo。 np.stats.describe 或仅描述在这里似乎不起作用。
  • 你能把数据复制到这个问题中吗?最好让每个问题都自给自足,而不是大量引用其他问题。
  • 好的。我刚刚添加了它
  • index_columns 中的列名不同,但是?

标签: pandas pivot pandas-groupby


【解决方案1】:

这只是因为您没有列 level_1。查看

的输出
df = grouped.describe().reset_index()
df
                daySold productID **level_2**  Price  quantitySold
0   18feb2017 09:17:15   Fdgd4      count    1.0           1.0
1   18feb2017 09:17:15   Fdgd4       mean  125.0         300.0
2   18feb2017 09:17:15   Fdgd4        std    NaN           NaN
3   18feb2017 09:17:15   Fdgd4        min  125.0         300.0
4   18feb2017 09:17:15   Fdgd4        25%  125.0         300.0
5   18feb2017 09:17:15   Fdgd4        50%  125.0         300.0
6   18feb2017 09:17:15   Fdgd4        75%  125.0         300.0
7   18feb2017 09:17:15   Fdgd4        max  125.0         300.0

但是你会遇到另一个问题。

ValueError: Wrong number of items passed 56, placement implies 2

只要做:

df = grouped.describe().unstack(2)
print(df)



Price                                         \
                              count   mean std    min    25%    50%    75%   
daySold             productID                                                
18feb2017 09:17:15  Fdgd4       1.0  125.0 NaN  125.0  125.0  125.0  125.0   
18feb2017 12:45:17  Fdgd4       1.0  125.0 NaN  125.0  125.0  125.0  125.0   
18mar2017 09:17:15  Fdgd4       1.0  125.0 NaN  125.0  125.0  125.0  125.0   
31aug2017 15:30:35  Sd23454     1.0   39.0 NaN   39.0   39.0   39.0   39.0   
31feb2017 13:25:31  Rt4564      1.0   45.0 NaN   45.0   45.0   45.0   45.0   
31jan2017 12:45:17  Sd23454     1.0   39.0 NaN   39.0   39.0   39.0   39.0   
31jan2017 15:30:35  Sd23454     1.0   39.0 NaN   39.0   39.0   39.0   39.0   

【讨论】:

    猜你喜欢
    • 2016-12-27
    • 2011-04-26
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多