假设我有以下DataFrame:
Area
0 14.68
1 40.54
2 10.82
3 2.31
4 22.3
Run Code Online (Sandbox Code Playgroud)
我想将这些值分类为范围。像A:[1,10],B:[11,20],C ...
Area
0 B
1 D
2 C
3 A
4 C
Run Code Online (Sandbox Code Playgroud)
如何使用Pandas?我尝试了以下代码:
bins = pd.IntervalIndex.from_tuples([(0, 11), (11, 20), (20, 50), (50, 100), (100, 500), (500, np.max(df["area"]) + 1)], closed='left')
catDf = pd.cut(df["area"], bins = bins)
Run Code Online (Sandbox Code Playgroud)
但是“ cut”命令只是将范围值放在DataFrame中,而我想将类别名称而不是范围放进去。
编辑:我试图将标签传递给剪切,但没有任何变化。 EDIT2:要澄清一下,如果“ area”的值具有10.21,则它在[10,20]的范围内,因此对于该值范围,必须将其标记为“ B”或其他标签。