加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Pandas:从列到唯一值的总和值

发布时间:2020-12-20 12:13:20 所属栏目:Python 来源:网络整理
导读:我有数据帧 ID time coeff category111 12 1.5 shop111 15 1.5 shop222 12 0.8 shop222 18 0.8 shop 我需要得到 category unique_users shop 2.3 如果我试试 result = df.groupby(['category']).agg({'ID': pd.Series.nunique}).rename(columns={ 'member_id
我有数据帧

ID    time    coeff   category
111    12      1.5     shop
111    15      1.5       shop
222    12      0.8     shop
222    18      0.8     shop

我需要得到

category    unique_users
 shop         2.3

如果我试试

result = df.groupby(['category']).agg({'ID': pd.Series.nunique}).rename(columns={ 'member_id': 'unique_users'}).reset_index()

我得到2,因为它返回df.ID的唯一.如何在df.coeff中为唯一的df.ID求和值?

解决方法

这是一种方式

In [2314]: (df.groupby('category')
              .apply(lambda x: x.groupby('ID').coeff.first().sum())
              .reset_index(name='unique_users'))
Out[2314]:
  category  unique_users
0     shop           2.3

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读