1
我有一系列數字,我想知道數據的每個桶中落入的數字的百分比。基於預定義桶的百分比垃圾箱
df['cuts']
具有10,20和50的值。具體來說,我想series
的%是在[0-10], (10-20] and (20-50]
bin中,這應該附加到df
數據幀。
我寫了下面的代碼。我絕對認爲它可以是即興創作的。任何幫助表示讚賞。
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)