我正在尝试按特定行类型进行分组和求和,例如3家公司销售鞋子,外套和拖鞋,我想对groupby公司进行添加,并按特定出售类型的鞋+外套添加它们。

python - groupby和sum by指定 Pandas 中的行类型-LMLPHP

文字输入-

  company  selltype  price
0       a      shoe     34
1       a      coat     23
2       a  slippers     12
3       b      shoe     55
4       b      coat     34
5       b  slippers     23
6       c      shoe     65
7       c      coat     34
8       c  slippers     12

最佳答案

treatsame={'shoe':'coat'}
df.groupby([df.company,df.selltype.replace(treatsame)]).\
    agg(lambda x :x.sum() if x.dtype=='int64' else '+'.join(x)).\
        reset_index('selltype',drop=True)
Out[40]:
          selltype  price
company
a        shoe+coat     57
a         slippers     12
b        shoe+coat     89
b         slippers     23
c        shoe+coat     99
c         slippers     12

关于python - groupby和sum by指定 Pandas 中的行类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48143316/

10-13 04:48