python - pd.cut 非均匀 bin 间隔
问题描述
我有一个这样的数据框:
a b
0 0 9
1 1 8
2 2 7
3 3 6
4 4 5
5 5 4
6 6 3
7 7 2
8 8 1
9 9 0
10 10 0
11 11 1
12 12 1
我想用它来根据它的值pd.cut()
来分隔a
不同子类别中的列。为了做到这一点,有必要获得bins
. 看起来我们可以bins
使用pd.IntervalIndex
.
但是我怎样才能使间隔像:
[0], (0,2], (2,4], (4,6], (6,8], (8,10], (10,)
?
我不知道这是否是表示它的正确方法,但它是:一个只有零[0]
的间隔 - 和一个每个值都大于 10 的间隔 -(100,)
解决方案
没有一个值的区间。为了得到同样的结果,我们可以Inf
关闭并开始。
pd.cut(df.a,[-np.Inf, 0,2,4,6,8,10,np.Inf])
0 (-inf, 0.0]
1 (0.0, 2.0]
2 (0.0, 2.0]
3 (2.0, 4.0]
4 (2.0, 4.0]
5 (4.0, 6.0]
6 (4.0, 6.0]
7 (6.0, 8.0]
8 (6.0, 8.0]
9 (8.0, 10.0]
10 (8.0, 10.0]
11 (10.0, inf]
12 (10.0, inf]
Name: a, dtype: category
Categories (7, interval[float64]): [(-inf, 0.0] < (0.0, 2.0] < (2.0, 4.0] < (4.0, 6.0] < (6.0, 8.0] <
(8.0, 10.0] < (10.0, inf]]
推荐阅读
- python - 使用 pyomo 模型优化功能
- python - 为什么我的 python 代码不输出浮点数?
- kubernetes - Jenkins-X 3 operator install 无法下载“jx3/jx-git-operator”
- vb.net - 转义表示 sql 查询的字符串中的双引号字符
- javascript - 在云函数中,写入 Firestore 子集合使用什么语法?
- javascript - 将 title 属性用于带有 fancybox4 的标题
- ruby-on-rails - 如何使用流程图构建自动化规则?
- typescript - 为什么我没有得到我的泛型的属性?
- python - Pandas Datareader 到 csv 文件结构交换
- c# - Newton JSON 如何将对象序列化为空括号?