Existe-t-il une méthode simple dans les pandas pour appeler groupby
sur une plage d'incréments de valeurs? Par exemple, étant donné l'exemple ci-dessous, puis-je classer et regrouper la colonne B
avec un 0.155
incrément de sorte que, par exemple, le premier couple de groupes de la colonne B
soit divisé en plages comprises entre '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
Sinon, je pourrais d'abord classer les données par ces incréments dans une nouvelle colonne et ensuite les utiliser groupby
pour déterminer les statistiques pertinentes qui peuvent être applicables dans la colonne A
?
Essaye ça:
df = df.sort('B') bins = np.arange(0,1.0,0.155) ind = np.digitize(df['B'],bins) print df.groupby(ind).head()
Bien sûr, vous pouvez utiliser n'importe quelle fonction sur les groupes non seulement
head
.la source