Czy w pandach istnieje łatwa metoda wywoływania groupby
z zakresu przyrostów wartości? Na przykład, biorąc pod uwagę poniższy przykład, mogę podzielić i pogrupować kolumnę B
z 0.155
przyrostem, aby na przykład pierwsza para grup w kolumnie była B
podzielona na zakresy między '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
Alternatywnie mógłbym najpierw sklasyfikować dane według tych przyrostów w nowej kolumnie, a następnie użyć ich groupby
do określenia wszelkich odpowiednich statystyk, które mogą mieć zastosowanie w kolumnie A
?
Spróbuj tego:
df = df.sort('B') bins = np.arange(0,1.0,0.155) ind = np.digitize(df['B'],bins) print df.groupby(ind).head()
Oczywiście możesz użyć dowolnej funkcji na grupach, nie tylko
head
.źródło