Python 基于现有列创建具有范围的新列
我有一列具有不同的值。我想创建一个新的列,将这些值分组到范围内(例如0-5、5-10、10-20等)。我应该如何使用pandas库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
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))
请以可用的形式提供一些示例数据。这有助于每个人回答您的问题。您的预期输出是什么?