Ich habe eine Reihe von Zahlen und ich würde gerne wissen,% der Zahlen fallen in jeden Eimer eines Datenrahmens.Prozent-Bins basierend auf vordefinierten Buckets
df['cuts']
haben 10, 20 und 50 als Werte. Genauer möchte ich, was% series
sind in [0-10], (10-20] and (20-50]
bin und das sollte an die df
Datenrahmen angehängt werden.
Ich schrieb den folgenden Code. Ich habe definitiv das Gefühl, dass es improvisiert werden könnte. Jede Hilfe wird geschätzt.
bin_cuts = [-1] + list(df['cuts'].values)
out = pd.cut(series, bins = bin_cuts)
df_pct_bins = pd.value_counts(out, normalize= True).reset_index()
df_pct_bins = pd.concat([df_pct_bins['index'].str.split(', ', expand = True), df_pct_bins['cuts']], axis = 1)
df_pct_bins[1] = df_pct_bins[1].str[:-1].astype(str)
df['cuts'] = df['cuts'].astype(str)
df_pct_bins = pd.merge(df, df_pct_bins, left_on= 'cuts', right_on= 1)