检查一列中的值是否在 Python 中另一列的区间值中

我有以下数据框:


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)

我想检查列 v1 是否在列 v2 ± 100(或 [v2*0.95, v2*1.05])的区间内。我如何在 Python 中做到这一点?谢谢你的帮助。这是我的最终结果示例:


    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


GCT1015
浏览 296回答 2
2回答

吃鸡游戏

只是使用(df.v1-df.v2).abs().le(100).map({True:'Yes',False:'No'})Out[60]: 0    Yes1    Yes2    Yes3     No4     Nodtype: object
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python