Я ищу хорошее преобразование в пандах, которое позволило бы мне перейти от временного ряда измерений к списку счетчиков на бин на время.
Допустим, у меня естьmy:
x = list(range(count))
y = [random.gauss(1, 0.1) for _ in range(count)]
Я могу преобразовать это в бин-интервалы с обеих сторон:
df = pandas.DataFrame.from_dict({'x': x, 'y': y})
df['x'].update(pandas.cut(df['x'], 20))
df['y'].update(pandas.cut(df['y'], 20))
Я знаю, что могу получить значения счетчиков для y
с использованием:
df['y'].value_counts()
Но у меня возникли проблемы с помещением "run value_counts в y
, сгруппированных по уникальным x
значениям, затем развернуть и вернуть его" в допустимую операцию.
Пример:
y = [1, 1, 2, 3, 4, 4]
x = [0, 1, 2, 3, 4, 5]
bin_count = 2
Ожидается:
df: x y count
0-2 1 2
0-2 2 1
3-5 3 1
3-5 4 2