Cob*_*696 5 python cut r function intervals
在R中,我们可以像这样使用cut()
e=c(4,5,6,7,8,9,10)
cut(e, breaks = c(1,2,3,4,5,6,7,8,9,10),
include.lowest = TRUE,
dig.lab = 3,
right = FALSE)
Run Code Online (Sandbox Code Playgroud)
输出是:
[4,5) [5,6) [6,7) [7,8) [8,9) [9,10] [9,10]
Levels: [1,2) [2,3) [3,4) [4,5) [5,6) [6,7) [7,8) [8,9) [9,10]
Run Code Online (Sandbox Code Playgroud)
在Python中,我使用这个:
e=np.r_[4,5,6,7,8]
pd.cut(e, bins=np.r_[1,2,3,4,5,6,7,8,9,10],right = False, include_lowest =True )
Run Code Online (Sandbox Code Playgroud)
输出是:
[[4.0, 5.0), [5.0, 6.0), [6.0, 7.0), [7.0, 8.0), [8.0, 9.0), [9.0, 10.0), NaN]
Categories (9, interval[int64]): [[1, 2) < [2, 3) < [3, 4) < [4, 5) ... [6, 7) <
[7, 8) < [8, 9) < [9, 10)]
Run Code Online (Sandbox Code Playgroud)
1.为什么R中的“[9,10]”与Python中的“[9.0, 10.0), NaN”不同?
2.如何在Python中得到与R一样将“[9.0, 10.0), NaN”转换为[9,10]的相同结果?
3.因为如果我在R中使用cut(),我可以得到像值“10”这样的值,但是Python中的cut()因为[9.0, 10.0)所以我无法得到10.0。如果我设置正确=错误,我可以有(9.0,10.0],但第一个将是(4.0,5.0],所以我也无法获得值4.0。请帮助我,以便我可以同时拥有4.0和10.0在结果中。
非常感谢。