【问题标题】:Create a new column in df called profitable, defined as 1 if the movie revenue is greater than the movie budget, and 0 otherwise [duplicate]在 df 中创建一个名为赚钱的新列,如果电影收入大于电影预算,则定义为 1,否则定义为 0 [重复]
【发布时间】:2019-05-19 00:42:50
【问题描述】:

这是我第一次尝试解决这个问题。

在本练习中,我们将定义回归和分类结果。具体来说,我们将使用收入列作为回归的目标。对于分类,我们将为每部电影构建一个盈利能力指标。

在 df 中创建一个新的列,称为赚钱,如果电影收入大于电影预算,则定义为 1,否则定义为 0。我得到了很好的结果,说有利可图的定义不正确。

还有……

**我真的不明白他们在这里想要什么:

接下来,定义并存储我们将用于回归和分类的结果。

将regression_target 定义为“收入”。

将分类目标定义为“盈利”。

profitable = []

for i in range(len(df)):
    if df.iloc[i]['revenue'] > df.iloc[i]['budget']:
        profitable.append(1)

    else:
        profitable.append(0)

df["'profitable'"] = profitable

regression_target = df['revenue']
classifcation_target = df['profitable']

df.head()

错误:

【问题讨论】:

  • 我现在意识到我有一个 1 我应该有一个 'i' 但我仍然不知道如何处理第二部分。他们在问什么?

标签: python python-3.x


【解决方案1】:

使用numpy.where

import numpy as np

df['profitable'] = np.where(df['revenue'] > df['budget'], 1, 0)

【讨论】:

  • 谢谢!这行得通...对于第二部分:
  • regression_target = df['revenue'] classifcation_target = df['profitable']
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-22
  • 2018-05-22
  • 2020-09-20
相关资源
最近更新 更多