微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用python基于标签计算对象数?

如何解决如何使用python基于标签计算对象数?

我有一个类似的数据框:

price   type      status
2       shoes      none
3       clothes    none
6       clothes    none
3       shoes      none
4       shoes      none
6       shoes      none
2       clothes    none
3       shoes      none
6       clothes    none
8       clothes    done

我想查看每次完成状态后基于“类型”的每个价格的计数。 例如: 对于鞋子类型:

price       count
2             1
3             2
4             1
6             1

到目前为止,我已经尝试过:

g = df['status'].eq('done').iloc[::-1].cumsum().iloc[::-1]
df_freq = df.groupby([g,'type']).apply(lambda x: x['price'].size().reset_index(name = "count"))

很遗憾,它不适用于我的数据。 如何使用python制作

谢谢。

解决方法

将输出作为一个数据帧的代码:

group = df[df['status'].eq('none')].groupby('type').apply(lambda x: x.groupby('price').count())
group.columns = ['type','count']
grouped_df = pd.DataFrame(group['count'])
print(grouped_df)
# output
               count
type    price       
clothes 2          1
        3          1
        6          2
shoes   2          1
        3          2
        4          1
        6          1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。