首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对大熊猫中的几个栏目作出有条件的判断?

如何对大熊猫中的几个栏目作出有条件的判断?
EN

Stack Overflow用户
提问于 2021-12-31 07:50:20
回答 1查看 63关注 0票数 0

我有个数据:

我想计算销售人员卖给医院的设备数量。

有几种情况:

  1. A销售对应于一家医院,只有一行数据,这表明这次出售向该医院出售了一件设备,就像表中的迈克行一样。

  1. A销售对应于一家医院,但是有两行数据(如andrew或duke),如果其中一行数据的签名时间和到达时间为空(exapmle: Nan,NaT,None),而且这一行的佣金是10000的倍数,那么这个销售人员只向这家医院

出售了一台设备。

  1. 在同一家医院有两名不同的销售人员,这意味着两名销售人员每人销售0.5台。

我需要的最后一个输出表如下所示:

我怎么能用熊猫做这件事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-31 08:39:04

IIUC用途:

代码语言:javascript
复制
#test all rows with at least one non NaN, Nat, None values
m = df[['Signing time', 'Arrival time']].notna().any(axis=1)

#get sums per Hospitals of Trues
df['Number of equipment'] = df.assign(m = m).groupby(['Hospital'])['m'].transform('sum')

#remove duplicates per both columns
df = df.drop_duplicates(['Sales','Hospital'])

#divide by number of Hospitals
df['Number of equipment'] /= df['Hospital'].map(df['Hospital'].value_counts())

#aggreagte sum if Sales are duplicates
df1 = df.groupby('Sales', sort=False, as_index=False)['Number of equipment'].sum()

#filter only columns if Sales are not duplicated
#df1 = df[['Sales','Number of equipment']]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70540134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档