Есть ли в пандах простой метод для вызова groupby
диапазона приращений значений? Например, в приведенном ниже примере я могу разбить и сгруппировать столбец B
с 0.155
приращением, чтобы, например, первая пара групп в столбце была B
разделена на диапазоны между '0 - 0,155, 0,155 - 0,31 ...
import numpy as np
import pandas as pd
df=pd.DataFrame({'A':np.random.random(20),'B':np.random.random(20)})
A B
0 0.383493 0.250785
1 0.572949 0.139555
2 0.652391 0.401983
3 0.214145 0.696935
4 0.848551 0.516692
В качестве альтернативы я мог бы сначала классифицировать данные по этим приращениям в новый столбец, а затем использовать groupby
для определения любой соответствующей статистики, которая может быть применима в столбце A
?
Попробуй это:
df = df.sort('B') bins = np.arange(0,1.0,0.155) ind = np.digitize(df['B'],bins) print df.groupby(ind).head()
Конечно, вы можете использовать любую функцию в группах, а не только
head
.источник