Ce petit sanpshot de mon dataframetrouver des pourcentages dans les bacs pour un groupe en utilisant pandas géants
city trips_in_first_30_days bins
0 King's Landing 4 (3, 125]
1 Astapor 0 NaN
2 Astapor 3 (2, 3]
3 King's Landing 9 (3, 125]
4 Winterfell 14 (3, 125]
5 Winterfell 2 (1, 2]
6 Astapor 1 (0, 1]
7 Winterfell 2 (1, 2]
8 Winterfell 2 (1, 2]
9 Winterfell 1 (0, 1]
10 Winterfell 1 (0, 1]
11 Winterfell 3 (2, 3]
12 Winterfell 1 (0, 1]
13 King's Landing 0 NaN
14 Astapor 1 (0, 1]
15 Winterfell 1 (0, 1]
16 King's Landing 1 (0, 1]
17 King's Landing 0 NaN
18 King's Landing 6 (3, 125]
19 King's Landing 0 NaN
20 Winterfell 1 (0, 1]
21 Astapor 1 (0, 1]
22 Winterfell 0 NaN
23 King's Landing 0 NaN
24 Astapor 4 (3, 125]
25 Winterfell 1 (0, 1]
26 Astapor 1 (0, 1]
27 Winterfell 3 (2, 3]
28 Winterfell 0 NaN
29 Astapor 1 (0, 1]
... ... ... ...
49970 Winterfell 2 (1, 2]
49971 King's Landing 0 NaN
49972 Winterfell 1 (0, 1]
49973 Astapor 2 (1, 2]
49974 Winterfell 1 (0, 1]
49975 Winterfell 11 (3, 125]
49976 King's Landing 0 NaN
49977 Astapor 4 (3, 125]
49978 Winterfell 1 (0, 1]
49979 Winterfell 0 NaN
49980 Astapor 1 (0, 1]
49981 Astapor 0 NaN
49982 King's Landing 0 NaN
49983 Winterfell 1 (0, 1]
49984 Winterfell 1 (0, 1]
49985 Astapor 1 (0, 1]
49986 Winterfell 0 NaN
49987 Winterfell 3 (2, 3]
49988 King's Landing 1 (0, 1]
49989 Winterfell 1 (0, 1]
49990 Astapor 1 (0, 1]
49991 Winterfell 0 NaN
49992 King's Landing 1 (0, 1]
49993 Astapor 3 (2, 3]
49994 Astapor 1 (0, 1]
49995 King's Landing 0 NaN
49996 Astapor 1 (0, 1]
49997 Winterfell 0 NaN
49998 Astapor 2 (1, 2]
49999 Astapor 0 NaN
df['bins']
est catégorique que je vous ai présenté en utilisant pd.cut
pour mettre trips_in_first_30_days
dans différents bacs .
Maintenant, je voudrais savoir quand groupé par ville quel pourcentage de trips_in_first_30_days
chute dans divers bacs?
Par exemple, pour la ville Astapor combien de pour cent trips_in_first_30_days
baisse (0,1];? Combien dans (1,2] et ainsi de suite
Est-il possible de le faire du tout comme bacs sontDTYPE catégorie et ne peuvent pas avoir des opérations effectuées sur et comment accomplir cette
EDIT:?
sur essayer la solution proposée:
def calc_bin_percentage(group_df):
bins_count = group_df.groupby("bins")["trips_in_first_30_days"].count()
return 100 * bins_count/len(group_df)
new_df.groupby("city").apply(calc_bin_percentage)
La eteint est la suivante:
bins (0, 1] (1, 2] (2, 3] (3, 125]
city
Astapor 31.105601 14.787710 6.973509 14.878432
King's Landing 22.408687 14.471866 7.541955 20.710760
Winterfell 28.689578 14.959719 8.017655 20.371957
La somme des pourcentages de chacune des villes devrait être mais ce n'est pas le cas
Pouvez-vous nous montrer à quoi vous attendez le résultat? – piRSquared
Salut, s'il vous plaît vérifier maintenant. –