import pandas as pd
In [156]: dt = pd.DataFrame({'A':[-10, 0 ,1, 10, 3, 9, 30, 50],'B':[100, 0, 9, -1, 20, 12, 4, 27]})
In [157]: dt
Out[157]:
A B
0 -10 100
1 0 0
2 1 9
3 10 -1
4 3 20
5 9 12
6 30 4
7 50 27
In [162]: cutoff = [float('-inf'), 0, 1, 4, 10, 15, float('inf')]
In [163]: dt['A_cut'] = pd.cut(dt['A'],bins=cutoff, right=False)
In [164]: dt['B_cut'] = pd.cut(dt['B'],bins=cutoff, right=False)
In [165]: dt
Out[165]:
A B A_cut B_cut
0 -10 100 [-inf, 0.0) [15.0, inf)
1 0 0 [0.0, 1.0) [0.0, 1.0)
2 1 9 [1.0, 4.0) [4.0, 10.0)
3 10 -1 [10.0, 15.0) [-inf, 0.0)
4 3 20 [1.0, 4.0) [15.0, inf)
5 9 12 [4.0, 10.0) [10.0, 15.0)
6 30 4 [15.0, inf) [4.0, 10.0)
7 50 27 [15.0, inf) [15.0, inf)
python pandas 分组切割 使用 pd.cut
于 2019-08-09 10:10:07 首次发布