繁体   English   中英

在带有类别的 Pandas 数据框中添加新列

[英]add new column in Pandas Data frame with categories

我有以下葡萄酒分类数据:

country, price, colour
USA      10     white
italy    25     red
USA      75     rose
Germany  125    white 

我必须根据以下信息在pandas中添加一个新列:

新列名称为'Affordability'

如果价格 < 50 则Cheap或如果价格 > 50 但价格 <100 则价格expensive或如果价格 > 100 则very exp

您可以使用numpy.select添加带有条件的额外列:

import numpy as np 
condlst = [df['price_column'] < 50,
           df['price_column'] < 100,
           df['price_column'] >= 100]
choicelst = ['Cheap',
             'Expensive',
             'Very Expensive',]
df['Affordability'] = np.select(condlist, choicelst)

请注意:

  • 条件的数量应始终与选择的数量相匹配。
  • 此处提供的条件是自我排除的,将在插入的订单中进行检查,因此首先检查价格是否低于 50,如果不是,将检查价格是否低于 100,依此类推。 这样您就可以节省需要执行的检查次数。

在这里阅读更多关于np.select的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM