【问题标题】:Feature Engineer Text Based on Text from Another Column in Pandas基于 Pandas 中另一列文本的特征工程师文本
【发布时间】:2021-12-06 21:57:27
【问题描述】:

我试图通过将文本映射到一个名为“programGrp”的新功能来简化一个名为“programName”的功能,在这个功能中,我将它们分组而不是每个程序的低级名称,例如 Mech/Elec/Petroleum Engineering分为 STEM、人文、生命科学等一般组。

这是我的尝试:

def fill_stem(df):
  for i in df:
    if df['programName'].str.contains('Engineering') | df['programName'].str.contains('Computer Science') | df['programName'].str.contains('Mathematics'):
      df['programGrp'].loc[i] = 'STEM'

fill_stem(df)

ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

但是当我运行它时,我得到了这个错误。有关如何最好地解决此问题的任何提示?

【问题讨论】:

    标签: pandas mapping feature-engineering


    【解决方案1】:

    你可以改用这个:

    df.loc[df['programName'].str.contains('Engineering|Computer Science|Mathematics'), 'programName'] = 'STEM'
    

    或者:

    df['programName'] = np.where(df['programName'].str.contains('Engineering|Computer Science|Mathematics'), 'STEM', df['programName'])
    

    【讨论】:

      猜你喜欢
      • 2014-12-14
      • 2019-01-21
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      • 2020-01-23
      • 1970-01-01
      相关资源
      最近更新 更多