I have a dataframe, df like this
a b c
1 0 2
5 7 8
4 1 3
3 4 6
5 2 5
.......
现在我想用以下范围替换这些数据。
0-3 = 1
4-6 = 2
7-9 = 3
列值小于10,因此范围在0-9之间。
我想用范围类别替换上述数据框中的值,并且输出应如下所示。
a b c
1 1 1
2 3 3
2 1 1
1 2 2
2 1 2
.......
如果数据框(df)中的任何值在0-3之间,则应替换为1,如果在4-6之间则替换为2,以此类推。
我该如何做到这一点?
pd.cut(df.values.reshape(-1, ),[-1,3,6,9],labels=[1,2,3]).codes.reshape(df.shape)
,然后将结果加载到数据框中。 - cs95