【问题标题】:Grouping and binning data for feature engineering用于特征工程的分组和分箱数据
【发布时间】:2019-12-16 06:19:36
【问题描述】:

我很难将我的数据划分到用于特征工程的箱中。数据是我想按分类数据(邻域)分组的销售价格。

我做错了什么 - 我得到了所有行的 NaN 值?谢谢!

    pricy_location = train['SalePrice'].groupby(train['Neighborhood']).mean()
    label = ['rank1', 'rank2', 'rank3', 'rank4', 'rank5']
    train['Pricy_Loc'] = pd.qcut(pricy_location, 5, labels=label, precision=2)
    train['Pricy_Loc'].head()

【问题讨论】:

标签: python database pandas dataframe binning


【解决方案1】:

我认为问题的出现是因为您正在创建一个按邻域分组的数据框(只有 25 行长),然后尝试使用为该数据框创建的类别并将其应用于更长的数据框,即 1460 行长。您可以简单地在火车数据框的新列中获取汇总数据,然后将结果分箱:

train['Pricy_loc'] = train.groupby('Neighborhood')['SalePrice'].transform('mean')
label = ['rank1', 'rank2', 'rank3', 'rank4', 'rank5']
train['Price_loc_cat'] = pd.qcut(train['Pricy_loc'], 5, labels=label, precision=2)

【讨论】:

  • 是的,可以解决问题。非常感谢。在代码中应该有 groupby(train['Neighborhood'])
  • 很高兴我能帮上忙。如果您不介意,您可以通过单击答案旁边的复选标记来接受我的答案。 :)
猜你喜欢
  • 1970-01-01
  • 2019-10-31
  • 1970-01-01
  • 1970-01-01
  • 2017-04-09
  • 2020-07-27
  • 2019-08-09
  • 2021-10-23
  • 2020-09-21
相关资源
最近更新 更多