【问题标题】:python list comprehension with if condition looping带有if条件循环的python列表理解
【发布时间】:2019-10-06 19:33:41
【问题描述】:

如果我想根据另一列值的条件更改一列的值,是否可以对数据框使用列表理解。

我希望实现的代码是这样的:

return ['lower_level' for x in usage_time_df['anomaly'] if [y < lower_outlier for y in usage_time_df['device_years']]

谢谢!

【问题讨论】:

  • 需要更多上下文,lower_outlier 是什么?
  • lower_outlier 是最小“device_years”值的预定义浮点数,抱歉没有解释。

标签: python pandas python-2.7 list-comprehension


【解决方案1】:

我不认为你想做的事情可以在列表推导中完成,如果可以,那肯定效率不高。

假设数据框usage_time_df 有两列anomalydevice_years,如果我理解正确,您想在device_years 中的值未达到时将anomaly 中的值设置为lower_level lower_outlier(我猜这是一个浮点数)。这样做的自然方法是:

usage_time_df.loc[usage_time_df['device_years'] < lower_outlier, 'anomaly'] = 'lower_level'

【讨论】:

  • 太棒了,不知道 .loc。可以在这样混合的条件下使用。非常感谢!!
猜你喜欢
  • 1970-01-01
  • 2020-01-07
  • 1970-01-01
  • 2021-08-22
  • 1970-01-01
  • 2020-05-29
  • 2016-05-29
  • 2015-08-24
  • 2022-11-07
相关资源
最近更新 更多