首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为特定的df列创建间隔?

如何为特定的df列创建间隔?
EN

Stack Overflow用户
提问于 2021-09-07 13:53:27
回答 1查看 46关注 0票数 1

我有这样的df:

代码语言:javascript
复制
     CODE      STATION      AVERAGE
0    109014   BUENA VISTA        29
1    111022        HUAYAN        28
2    111023          ムAムA        28
3    112058       PACARAN        28
4    111004  ALCANTARILLA        24
..      ...           ...       ...
263  114050        ANANEA        18
264  113100  VILCASHUAMAN        17
265  113101     CHILCAYOC        16
266  114093        PUTINA        16
267  114096     CUYO CUYO        16

我想创建一个具有时间间隔的新列。所以我创建了这个代码:

代码语言:javascript
复制
df.loc[df['AVERAGE'] == 30.0, 'INTERVAL'] = '[30]'
df.loc[(df['AVERAGE'] < 30.0)&((df['AVERAGE'] >= 25.0)), 'INTERVAL'] = '<30-25]'
df.loc[(df['AVERAGE'] < 25.0)&((df['AVERAGE'] >= 20.0)), 'INTERVAL'] = '<25-20]' 
df.loc[(df['AVERAGE'] < 20.0)&((df['AVERAGE'] >= 15.0)), 'INTERVAL'] = '<20-15]' 
df.loc[(df['AVERAGE'] < 15.0)&((df['AVERAGE'] >= 10.0)), 'INTERVAL'] = '<15-10]' 
df.loc[(df['AVERAGE'] < 10.0)&((df['AVERAGE'] >= 5.0)), 'INTERVAL'] = '<10-5]'

有没有更有效的方法来做到这一点?另外,我想知道python是否有一种方法可以识别间隔的值。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-09-07 13:59:13

你可以试试pd.cut

代码语言:javascript
复制
df['out'] = pd.cut(df.AVERAGE,range(5,35,5), right=False)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69089502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档