Я пытаюсь вернуть общее количество уникальных записей в pandas
df
.Это определяется значениями в Columns ['D','F']
.Таким образом, в столбце D. есть определенные места. Столбец F показывает, сколько событий происходит в этих местах.Для каждого события может быть несколько функций, но меня интересует только общее количество событий в каждом месте.Так сколько подсчетов в столбце F для каждого места в столбце D
Таким образом, вывод для примера ниже будет
ABC-Thu = 2
DEF-Thu = 1
import pandas as pd
d = ({
'C' : ['08:00:00','XX','08:10:00','XX','08:41:42','XX','08:50:00','XX', '09:00:00', 'XX','09:15:00','XX','09:21:00','XX','09:30:00','XX','09:40:00','XX'],
'D' : ['ABC-Thu','--','ABC-Thu','--','DEF-Thu','--','ABC-Thu','--','DEF-Thu','--','ABC-Thu','--','ABC-Thu','--','DEF-Thu','--','ABC-Thu','--'],
'E' : ['Num:','','Num:','','Num:','','Num:','','Num:', '','Num:','','Num:','','Num:', '','Num:', ''],
'F' : ['1','','1','','1','','1','','1', '','2','','2','','1', '','2',''],
'A' : ['A','','A','','A','','A','','A','','A','','A','','A','','A',''],
'B' : ['Stop','','Res','','Stop','','Start','','Res','','Stop','','Res','','Start','','Start','']
})
df = pd.DataFrame(data=d)
Вывод:
A B C D E F
0 A Stop 08:00:00 ABC-Thu Num: 1
1 XX --
2 A Res 08:10:00 ABC-Thu Num: 1
3 XX --
4 A Stop 08:41:42 DEF-Thu Num: 1
5 XX --
6 A Start 08:50:00 ABC-Thu Num: 1
7 XX --
8 A Res 09:00:00 DEF-Thu Num: 1
9 XX --
10 A Stop 09:15:00 ABC-Thu Num: 2
11 XX --
12 A Res 09:21:00 ABC-Thu Num: 2
13 XX --
14 A Start 09:30:00 DEF-Thu Num: 1
15 XX --
16 A Start 09:40:00 ABC-Thu Num: 2
17 XX --
Если я запускаю это, используя приведенный ниже код, я получаю 4 из-за - в столбце D
df1 = df.groupby(['F', 'D']).ngroups
Вывод:
4
Мне также было интересно, было либолее простой способ определить общее количество для каждого места для столбца D, F. Вместо общего количества.Этот код является лишь примером.В моем наборе данных может быть более 50 различных мест для столбца D и до 10 событий для столбца F. Чтобы добавить дополнительные ограничения, места меняются для каждого файла.Поэтому мне нужен быстрый способ определить количество для каждой встречи.
Есть ли более эффективный способ, чем подсчет по месту.Я не уверен, переосмысливаю это или нет.Что также сбивает с толку, так это то, что функции в столбце B могут различатьсяЭто не всегда в повторяющемся порядке.