不使用聚合函数的Pandas中的GroupBy

2024-06-01 08:46:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个零售数据存储,并试图得到一个类别和子类别的报告。我试着看看答案,但没能找到解决办法。你知道吗

下面是示例数据(不是完整的数据集)

+-----------------+--------------+
|    Category     | Sub-Category |
+-----------------+--------------+
| Furniture       | Bookcases    |
| Furniture       | Chairs       |
| Office Supplies | Labels       |
| Furniture       | Tables       |
| Office Supplies | Storage      |
| Furniture       | Furnishings  |
+-----------------+--------------+

我的代码:

orders[['Category', 'Sub-Category']].groupby(by=['Category', 'Sub-Category']).nunique()

我的结果集:

                              Category  Sub-Category
Category        Sub-Category                        
Furniture       Bookcases            1             1
                Chairs               1             1
                Furnishings          1             1
                Tables               1             1
Office Supplies Appliances           1             1
                Art                  1             1

我只想

    Category        Sub-Category                        

    Furniture       Bookcases       
                    Chairs            
                    Furnishings  
                    Tables    
    Office Supplies Appliances       
                    Art    

有没有办法让我把这些数字藏起来。如果不包含nunique,则返回的是对象而不是实际输出。你知道吗

我不确定这个功能是否存在于pandas中,或者我应该看看其他的东西。你知道吗


Tags: 数据tables报告类别officecategorysubart
1条回答
网友
1楼 · 发布于 2024-06-01 08:46:04

使用

df=df.sort_values('Category')
df.Category=df.Category.mask(df.Category.duplicated(),'')
df
Out[450]: 
         Category Sub-Category
0       Furniture    Bookcases
1                       Chairs
3                       Tables
5                  Furnishings
2  OfficeSupplies       Labels
4                      Storage

相关问题 更多 >