从pandas系列的值中创建pandas系列的区间[英] Create pandas series of intervals from pandas series of values

本文是小编为大家收集整理的关于从pandas系列的值中创建pandas系列的区间的处理方法,想解了从pandas系列的值中创建pandas系列的区间的问题怎么解决?从pandas系列的值中创建pandas系列的区间问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我能找到的最接近的答案似乎太复杂了:如何在 pandas 中创建间隔列?

如果我有一个看起来像这样的 pandas 数据框:

+-------+
| Value |
+-------+
|     6 |
|    12 |
|    56 |
|    60 |
|   120 |
+-------+

我怎样才能把它变成这个?

+-------+-----------+
| Value | Interval  |
+-------+-----------+
|     6 |           |
|    12 | (6, 12]   |
|    56 | (12, 56]  |
|    60 | (56, 60]  |
|   120 | (60, 120] |
+-------+-----------+

(注意,这是一个非常简化的示例,我的真实数据框很大,因此性能是一个问题.)

推荐答案

pd.cut 默认为 right=True 所以如果 'Value' 是严格单调递增的

df['Interval'] = pd.cut(df.Value, bins=df.Value)
#   Value       Interval
#0      6            NaN
#1     12    (6.0, 12.0]
#2     56   (12.0, 56.0]
#3     60   (56.0, 60.0]
#4    120  (60.0, 120.0]

本文地址:https://www.itbaoku.cn/post/1728170.html