小编dem*_*emo的帖子

如何在Pandas DataFrame中对一系列值进行分类

假设我有以下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”或其他标签。

python pandas

5
推荐指数
1
解决办法
64
查看次数

标签 统计

pandas ×1

python ×1