Les Pandas bar parcelle avec la mise à la poubelle de la gamme
Est-il un moyen pour créer un diagramme en barres à partir des données continues effectuées à des intervalles prédéfinis? Par exemple,
In[1]: df
Out[1]:
0 0.729630
1 0.699620
2 0.710526
3 0.000000
4 0.831325
5 0.945312
6 0.665428
7 0.871845
8 0.848148
9 0.262500
10 0.694030
11 0.503759
12 0.985437
13 0.576271
14 0.819742
15 0.957627
16 0.814394
17 0.944649
18 0.911111
19 0.113333
20 0.585821
21 0.930131
22 0.347222
23 0.000000
24 0.987805
25 0.950570
26 0.341317
27 0.192771
28 0.320988
29 0.513834
231 0.342541
232 0.866279
233 0.900000
234 0.615385
235 0.880597
236 0.620690
237 0.984375
238 0.171429
239 0.792683
240 0.344828
241 0.288889
242 0.961686
243 0.094402
244 0.960526
245 1.000000
246 0.166667
247 0.373494
248 0.000000
249 0.839416
250 0.862745
251 0.589873
252 0.983871
253 0.751938
254 0.000000
255 0.594937
256 0.259615
257 0.459916
258 0.935065
259 0.969231
260 0.755814
et au lieu d'un simple histogramme:
df.hist()
J'ai besoin de créer un diagramme en barres, où chaque barre comptera un certain nombre de cas dans une fourchette prédéfinie.
Par exemple, la parcelle doit avoir trois barres avec le nombre de points qui tombent dans: [0 0.35], [0.35 0.7] [0.7 1.0]
MODIFIER
Merci beaucoup pour vos réponses. Une autre question, comment commander bacs?
Par exemple, j'obtiens le résultat suivant:
In[349]: out.value_counts()
Out[349]:
[0, 0.001] 104
(0.001, 0.1] 61
(0.1, 0.2] 32
(0.2, 0.3] 20
(0.3, 0.4] 18
(0.7, 0.8] 6
(0.4, 0.5] 6
(0.5, 0.6] 5
(0.6, 0.7] 4
(0.9, 1] 3
(0.8, 0.9] 2
(1, 1.001] 0
comme vous pouvez le voir, les trois derniers bacs ne sont pas commandés. Comment trier les données d'image sur la base des "catégories" ou mes bacs?
EDIT 2
Viens de trouver comment le résoudre, tout simplement avec " réindexer()':
In[355]: out.value_counts().reindex(out.cat.categories)
Out[355]:
[0, 0.001] 104
(0.001, 0.1] 61
(0.1, 0.2] 32
(0.2, 0.3] 20
(0.3, 0.4] 18
(0.4, 0.5] 6
(0.5, 0.6] 5
(0.6, 0.7] 4
(0.7, 0.8] 6
(0.8, 0.9] 2
(0.9, 1] 3
(1, 1.001] 0
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire usage de
mp.couper
de partition les valeurs dans des bacs correspondant à chaque intervalle et ensuite prendre chaque intervalle du nombre total de comptes à l'aide demp.value_counts
. Tracer un graphique à barres plus tard, en plus de remplacer l'axe des X tique des étiquettes avec le nom de la catégorie à laquelle un tique appartient.Si vous voulez de l'axe Y pour être affiché en tant que pourcentages relatifs, de normaliser le nombre de fréquences et multiplier ce résultat avec 100.
IntervalIndex
qui a sa propre dtype et ne prend pas en charge l'indexation. Par conséquent, la meilleure façon de faire la même chose serait d'utiliser des attributs (gauche/droite) pour définir l'intervalle de l'axe des X étiquettes de graduation.Vous pouvez envisager d'utiliser matplotlib pour tracer l'histogramme. À la différence des pandas
hist
fonction,matplotlib.pyplot.hist
accepte un tableau en entrée pour les poubelles.Vous pouvez utiliser la mp.couper