【问题标题】:Python: How do I create a new variable which is a boolean indicator of another variable's value?Python:如何创建一个新变量,它是另一个变量值的布尔指标?
【发布时间】:2020-01-18 11:52:37
【问题描述】:

我有一个如下所示的数据集:

DayDate   Value
19-01-01  500
19-01-02  750
19-01-03  1000

我想创建这些数据:

DayDate Value  IsAboveMedian
19-01-01  500    False
19-01-02  750    False
19-01-03  1000   True

我如何在 Python 中做到这一点,添加一个布尔值来计算另一个变量?

【问题讨论】:

  • 提示:df['Value'].median 为您提供中位数,然后您可以使用它进行比较。
  • 您确定要这样做吗?每当您添加或删除一行,或更新现有行的Value 时,中位数可能会发生变化。因此,现在您必须返回并重新计算所有 IsAboveMedian 值。

标签: python pandas


【解决方案1】:

你只需要:

df['IsAboveMedian'] = df['Value']>df['Value'].median()

输出:

DayDate Value  IsAboveMedian
19-01-01  500    False
19-01-02  750    False
19-01-03  1000   True

【讨论】:

  • 非常感谢!我尝试了类似的方法,但失败了,然后我意识到我正在使用的表有一个多索引。
  • 这个解决方案与index.html无关。不知道你在说什么。
【解决方案2】:

你好,这可以帮助你。在发布问题之前检查,因为这已经是answered

l = [2,58,8,69,9,7]
df  = pd.DataFrame(l, columns=['values'])
np.median(df['values'])

df["IsAboveMedian"] = df["values"].apply(lambda x: True if x>np.median(df['values']) else False)

【讨论】:

  • True if x > np.median(...) else False 是多余的
猜你喜欢
  • 2019-05-13
  • 2017-04-05
  • 1970-01-01
  • 1970-01-01
  • 2022-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多