【发布时间】:2020-02-28 00:31:04
【问题描述】:
我有以下 pandas 数据框 --
1. A John
2. A Juliet
3. A Joseph
4. A Romeo
5. A Chris
6. A John
7. A Juliet
8. A Joseph
9. A Romeo
10. A Chris
11. A John
12. B Juliet
13. B Joseph
14. B Romeo
15. B Chris
16. B John
17. C Juliet
18. C Joseph
19. C Romeo
我必须使用 2 个条件进行过滤:
- 其中员工(姓名)各为 3 并且
- 其中 A 的计数为 8,B 的计数为 4,C 的计数为 3
My logic filters for each employee being there 3 times --
unique_employee=df.loc[:,"Employee"].unique().tolist()
count=0
for i in unique_employee:
if count==0:
df2=df1[df1['Employee']==i].iloc[0:3,:]
count+=1
else:
df2=pd.concat([df2,df1[df1['Employee']==i].iloc[0:3,:]])
How do i put in the second part of my condition too?
我的预期输出将是 A 公司将有 8 个实例,B 公司将有 4 个实例,C 公司将有 3 个实例,并且教员工将在那里三次--
A John
A John
B John
A Joseph
A Joseph
C Joseph
A Chris
A Chris
B Chris
A Juliet
B Juliet
C Juliet
A Romeo
B Romeo
C Romeo
【问题讨论】:
-
编辑问题以添加更新,请勿在 cmets 中添加。
-
您对此数据集的预期输出是什么?如果我理解正确,那么只有克里斯?
-
@Datanovice 我已在查询中添加了上面的预期输出。
标签: python pandas csv filter conditional-statements