Binning and transforming in pandas
我有下面的数据框架。
1 2 3 4 5 6 7 | A B 1 1 4 1 5 1 6 2 8 3 15 4 |
我想把数据帧分块并转换到下面。
1 2 3 4 5 | range(A) sum(B) [0,4) 2 [5,9) 6 [10,14) 0 [15,19) 4 |
我试了一下
我能问一下如何转换数据吗?
您需要带参数
感谢John Galt提出的添加参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | print (pd.cut(df['A'], bins=[0, 5, 10, 15, 20], labels=['[0,4)', '[5,9)', '[10,14)', '[15,19)'], right=False)) 0 [0,4) 1 [0,4) 2 [5,9) 3 [5,9) 4 [5,9) 5 [15,19) Name: A, dtype: category df = df.groupby([pd.cut(df['A'], bins=[0, 5, 10, 15, 20], labels=['[0,4)', '[5,9)', '[10,14)', '[15,19)'], right=False)]) .B.sum() .fillna(0) .reset_index() df.columns = ['range(A)','sum(B)'] print (df) range(A) sum(B) 0 [0,4) 2.0 1 [5,9) 6.0 2 [10,14) 0.0 3 [15,19) 4.0 |