python判断某列有值,检查一列中的值是否在Python中另一列的间隔值中

使用Python Pandas DataFrame,如何判断DataFrame的一列数值(v1)是否位于另一列数值(v2)的±100范围内,或者在0.95*v2和1.05*v2之间?通过遍历数据并比较条件,可以创建一个新的结果列来标记这些情况。
摘要由CSDN通过智能技术生成

I have the following dataframe:

import pandas as pd

import numpy as np

data = {

"index": [1, 2, 3, 4, 5],

"v1": [1100, 1776, 1228, 1640, np.NaN],

"v2": [1000, 1805, 1231, 1425, 1800],

"result": ['Y', 'Y', 'Y', 'N', 'N']

}

df = pd.DataFrame.from_dict(data)

print(df)

I would like to check if column v1 is in interval of column v2 ± 100 (or [v2*0.95, v2*1.05]). How can i do it in Python? thanks for your help. Here is my final result example:

index v1 v2 result

0 1 1100.0 1000 Y

1 2 1776.0 1805 Y

2 3 1228.0 1231 Y

3 4 1640.0 1425 N

4 5 NaN 1800 N

解决方案

For v1 in [v2*0.95, v2*1.05] use:

df['res'] = ''

for idx, val in enum

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值