pandas - 过滤熊猫中小于某个值的负值
问题描述
我有两列“Esc1”和“Esc2”。我想应用“where”条件,如果 esc1 和 esc2 之间的差异小于 -30,则“是”小于 -30,否则“否”。
我使用了以下代码,
np.where((df['Esc1']-df['Esc2']<-30),"yes less than -30","No")
但上述结果将-4或-5等甚至差值视为“是小于-30”
解决方案
import numpy as np
import pandas as pd
df = pd.DataFrame()
df['Esc1'] = np.arange(10)
df['Esc2'] = np.arange(10, 50, 4)
df['diff'] = df['Esc1'] - df['Esc2']
pd.cut(df['diff'], bins=[-np.inf, -30, np.inf], labels=['yes less than -30', 'no'])
推荐阅读
- ruby-on-rails - 使用迁移在 Ruby on Rails 中回填 600 万条记录
- presto - 如何将 20190801 转换为 Aug-2019
- c# - 从另一个项目引用(C# 和 VB)访问非静态变量
- c++ - boost的库安装路径
- javascript - setTimeout 函数缺少形式参数
- reactjs - 尽管依赖项没有变化,useEffect 运行无限循环
- c++ - 如何使用 typedef 作为声明的基本类型的一部分?
- forms - VB6 表单位置(上、左)和值类型(即整数)的问题
- c# - 连接到 FTP 端口 21 时,SSH.NET 出现“套接字读取操作超时”异常
- c# - 是否可以更改 NSwag 生成的示例值部分的内容?