Python 基于现有列创建具有范围的新列

Python 基于现有列创建具有范围的新列,python,pandas,numpy,Python,Pandas,Numpy,我有一列具有不同的值。我想创建一个新的列,将这些值分组到范围内(例如0-5、5-10、10-20等)。我应该如何使用pandas库 df['price_group'] 0 475000 1 720000 2 232000 3 728000 4 706000 ... 21615 485000 21616 1008000 21617 283000 21618 293550 21619

我有一列具有不同的值。我想创建一个新的列,将这些值分组到范围内(例如0-5、5-10、10-20等)。我应该如何使用pandas库

df['price_group']
0         475000
1         720000
2         232000
3         728000
4         706000
...   
21615     485000
21616    1008000
21617     283000
21618     293550
21619     250000

您的问题有问题:边界类值会发生什么情况?5属于0-5级还是5-10级

无论如何,你最好的选择可能是这样的。我假设您的类是以下类:]-inf,-1][0,4][5,9][10,19][20,inf[

将熊猫作为pd导入
#声明您的函数
def my_自定义_函数(长度):
“”“您还可以返回int、float或其他对象”“”
如果长度<0:
返回“负”
elif长度<5:
返回“0米-4米”
elif长度<10:
返回“5m-9m”
elif长度<20:
返回“10米-19米”
其他:
返回“20m和+”
#添加所需的列
df['sampled_length']=df['length'].apply(lambda x:my_custom_函数(x))

请以可用的形式提供一些示例数据。这有助于每个人回答您的问题。您的预期输出是什么?