【发布时间】:2019-04-15 00:36:59
【问题描述】:
假设我有以下 DataFrame:
Area
0 14.68
1 40.54
2 10.82
3 2.31
4 22.3
我想在范围内对这些值进行分类。比如A:[1,10],B:[11,20],C...
Area
0 B
1 D
2 C
3 A
4 C
我如何使用 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)
但是“cut”命令只是将范围值放在 DataFrame 中,我想放置类别名称而不是范围。
编辑:我尝试将标签传递给剪辑,但没有任何变化。 EDIT2:澄清一下,如果“面积”的值有 10.21,那么它在 [10,20] 的范围内,所以它必须标记为“B”或该范围值的其他标签.
【问题讨论】: