сравнить даты между собой в одном столбце датафрейма. И если они одинаковые посчитать их количество
У меня получается булевые значения, но мне нужно оставить даты и посчитать сколько их одинаковых. Например [10.10.2021, 10.10.2021, 11.10.2021, 12.10.2021] Желаемый результат [2,1,1]##
file_path="E://Jobs//pcap_data//Nan.pcap"
f = open(file_path, 'rb')
list_time = []
pc = dpkt.pcap.Reader(f)
for timestamp, packet in pc:
list_time.append(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(timestamp)))
new_list =[]
for i in range(len(list_time)-1):
new_list.append((list_time[i] == list_time[i+1]))
new_list
ответ
{[False,
True,
True,
True,
True,
True,
True,
True,
True,
True,
False,}
Ответы (2 шт):
Автор решения: MaxU
→ Ссылка
Если я правильно понял вопрос:
In [96]: df
Out[96]:
dt
0 2021-10-10
1 2021-10-10
2 2021-10-10
3 2021-10-11
4 2021-10-12
5 2021-10-12
6 2021-10-12
In [97]: res = df.groupby((df["dt"] != df["dt"].shift()).cumsum())["dt"].count().to_list()
In [98]: res
Out[98]: [3, 1, 3]
Автор решения: CrazyElf
→ Ссылка
Но вроде же это проще несколько делается, спасибо MaxU за пример данных:
import pandas as pd
df = pd.DataFrame({'dt': '''\
2021-10-10
2021-10-10
2021-10-10
2021-10-11
2021-10-12
2021-10-12
2021-10-12'''.split('\n')})
res = df.groupby("dt").size().to_list()
print(res)
Вывод:
[3, 1, 3]