Voici un exemple pour obtenir le point:Pandas Groupy sur la série avec des intervalles
missing_values=-999.0
level1=pd._libs.interval.Interval(-np.inf, 1, closed='right')
level2=pd._libs.interval.Interval(1,np.inf, closed='right')
data=pd.DataFrame({'a':[level1,missing_values,level2]})
>>> data
a
0 (-inf, 1]
1 -999
2 (1, inf]
Et quand je tente data.groupby(['a']).count()
, ça ne va pas avec TypeError: unorderable types: Interval() > float()
Mais si je mets -999
à la première ligne, ou définir 3 niveaux d'intervalle, il peut fonctionner!
>>> data
a
0 -999
1 (-inf, 1]
2 (1, inf]
>>> data.groupby(['a']).count()
a
-999.0 1
(-inf, 1] 1
(1, inf] 1
>>> data
a
0 (-inf, 1]
1 -999
2 (1, 2]
3 (2, inf]
>>> data.groupby(['a']).count()
a
(-inf, 1] 1
-999.0 1
(1, 2] 1
(2, inf] 1
Name: a, dtype: int64
Cela signifie que groupby
peut trier intervalle et float? Donc le TypeError
signifie-t-il?