我能找到的最接近的答案似乎太复杂:如何在 pandas 中创建间隔列? https://stackoverflow.com/a/47396828/575530
如果我有一个看起来像这样的 pandas 数据框:
+-------+
| Value |
+-------+
| 6 |
| 12 |
| 56 |
| 60 |
| 120 |
+-------+
我怎样才能把它变成这样?
+-------+-----------+
| Value | Interval |
+-------+-----------+
| 6 | |
| 12 | (6, 12] |
| 56 | (12, 56] |
| 60 | (56, 60] |
| 120 | (60, 120] |
+-------+-----------+
(注意:这是一个非常简化的示例,我的真实数据帧很大,因此性能是一个问题。)
pd.cut https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.cut.html默认为right=True
so if '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]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)