У меня есть набор данных, в котором перечислены сотрудники и временные метки, на которых они выполняют определенные действия. Он разделен на три столбца: Employee, Date, Hour.Выполнение великолепных счетчиков в Pandas
Я хочу подсчитать количество сотрудников, которые активны каждый час. В Excel Я хотел бы сделать это, добавив четвертый столбец EmpFactor
, в котором я выполнить операцию: COUNTIFS
=1/COUNTIFS(Name range;Name;Date range;Date;Hour range;Hour)
можно затем вычислить количество активных сотрудников, выполняя SUMIF
на EmpFactor
колонке.
Я попытался следующий код, чтобы составить 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