我有一个数据集,列出了他们完成某些操作的员工和时间戳。它分为三列:员工,日期,小时。在熊猫中执行excel-like countifs
我想统计每小时活动的员工数量。 Excel中我将通过添加第四列EmpFactor
为此在其中予执行COUNTIFS
操作:
=1/COUNTIFS(Name range;Name;Date range;Date;Hour range;Hour)
我随后可以通过在EmpFactor
列执行SUMIF
计算活性的员工数量。
我尝试下面的代码组成EmpFactor
使用列大熊猫:
for name,date,time in zip(df['Employee'],df['Date'],df['Time']):
df['EmpFactor'] = 1/(df[(df.Employee == name) and (df.Day == dag)
and (df.Time == tijd)].count())
然而,这是行不通的。我已经在SO上搜索了很多主题,但还没有找到合适的答案。
这将有助于获得样本数据和预期输出。 – Zero
它可能并不高雅,但如果你只是迭代你的数组和+ =到一个匹配的计数器,然后进行反演,那么它就是一个开始。 –
谢谢!我选择了后一种方法,这似乎奏效。 – TimH