我想使用cut函数将数据分类为4个不同的类。我的代码中没有语法错误。但是结果却不是我所期望的。
MACOS 10.14.1,python3
coor.x和coor.y是我要使用cut函数进行分类和标记的列:
coor['xarea']=pd.cut(coor.x,[144.7,144.85,145,145.15,145.3,145.45],include_lowest=True,labels={'1','2','3','4','5'})
coor['yarea']=pd.cut(coor.y,[-38.1,-37.95,-37.8,-37.65,-37.5],include_lowest=True,labels={'1','2','3','4'})
预期结果是:
x y xarea yarea
144.994667 -37.924948 2 2
144.987191 -37.924919 2 2
144.986557 -37.924911 2 2
144.987280 -37.924902 2 2
但是真正的结果是:
x y xarea yarea
144.994667 -37.924948 2 3
144.987191 -37.924919 2 3
144.986557 -37.924911 2 3
144.987280 -37.924902 2 3
我不明白为什么y中的数据具有错误的标签,原因是当我运行没有标签属性的代码时,我得到了:
144.987191 -37.924919 2 (-37.95, -37.8]
144.986557 -37.924911 2 (-37.95, -37.8]
144.987280 -37.924902 2 (-37.95, -37.8]
这意味着它已经被很好地分类。
答案 0 :(得分:0)
运行代码时,我得到以下信息:
coor['xarea']=pd.cut(coor.x,[144.7,144.85,145,145.15,145.3,145.45],include_lowest=True,labels={'1','2','3','4','5'})
coor['yarea']=pd.cut(coor.y,[-38.1,-37.95,-37.8,-37.65,-37.5],include_lowest=True,labels={'1','2','3','4'})
print(coor)
x y xarea yarea
0 144.994667 -37.924948 2 2
1 144.987191 -37.924919 2 2
2 144.986557 -37.924911 2 2
3 144.987280 -37.924902 2 2
它对我来说正常工作。