Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 值接近输入值的输出行_Python_Pandas - Fatal编程技术网

Python 值接近输入值的输出行

Python 值接近输入值的输出行,python,pandas,Python,Pandas,如何输出数据帧中的所有行,其值接近我输入的数字 import pandas as pd data = {'A':[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'B':[11, 12, 13, 14, 15, 16, 17, 18, 19, 20]} df = pd.DataFrame(data, columns=['A', 'B']) 因此,像最近的_值(df,a,B)这样的函数输出指定输入的2行内的行。如果我输入最近的值(df 5,15),它将返回行:

如何输出数据帧中的所有行,其值接近我输入的数字

import pandas as pd

data = {'A':[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        'B':[11, 12, 13, 14, 15, 16, 17, 18, 19, 20]}

df = pd.DataFrame(data, columns=['A', 'B'])
因此,像
最近的_值(df,a,B)
这样的函数输出指定输入的2行内的行。如果我输入最近的值(df 5,15),它将返回行:

|     A    |     B    |
| -------- | -------- |
| 3        | 13       |
| 4        | 14       |
| 5        | 15       |
| 6        | 16       |
| 7        | 17       |

一种方法是从数据帧中减去值,并与公差进行比较:

def nearest_values(df, A, B, tolerance=2):
    return df[(abs(df - [A, B]) <= tolerance).all(axis=1)]
abs(df - [A, B]) <= tolerance
如果行中与公差匹配的任何值可接受,请将
all
更改为
any


说明:

df - [A, B]
使用减法将搜索值与数据帧进行“比较”:

   A  B
0 -4 -4
1 -3 -3
2 -2 -2
3 -1 -1
4  0  0
5  1  1
6  2  2
7  3  3
8  4  4
9  5  5
abs
用于将所有负值转换为正值,然后与公差进行比较:

def nearest_values(df, A, B, tolerance=2):
    return df[(abs(df - [A, B]) <= tolerance).all(axis=1)]
abs(df - [A, B]) <= tolerance
然后可以对给定行的真实性进行评估。在这种情况下,
all(axis=1)
any(axis=1)
也是一个选项:

(abs(df - [A, B]) <= tolerance).all(axis=1)
这可以用作选择所需行的索引:


完整的工作示例

import pandas as pd

data = {'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        'B': [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]}

df = pd.DataFrame(data, columns=['A', 'B'])


def nearest_values(df, *cols, tolerance=2):
    return df[(abs(df - cols) <= tolerance).all(axis=1)]


print(nearest_values(df, 5, 15))
将熊猫作为pd导入
数据={'A':[1,2,3,4,5,6,7,8,9,10],
‘B’:[11、12、13、14、15、16、17、18、19、20]}
df=pd.DataFrame(数据,列=['A','B'])
def最接近的_值(df,*cols,公差=2):

返回df[(abs(df-cols)一种方法是从数据帧中减去值并与公差进行比较:

def nearest_values(df, A, B, tolerance=2):
    return df[(abs(df - [A, B]) <= tolerance).all(axis=1)]
abs(df - [A, B]) <= tolerance
如果行中与公差匹配的任何值可接受,请将
all
更改为
any


说明:

df - [A, B]
使用减法将搜索值与数据帧进行“比较”:

   A  B
0 -4 -4
1 -3 -3
2 -2 -2
3 -1 -1
4  0  0
5  1  1
6  2  2
7  3  3
8  4  4
9  5  5
abs
用于将所有负值转换为正值,然后与公差进行比较:

def nearest_values(df, A, B, tolerance=2):
    return df[(abs(df - [A, B]) <= tolerance).all(axis=1)]
abs(df - [A, B]) <= tolerance
然后可以对给定行的真实性进行评估。在这种情况下,
all(axis=1)
但是
any(axis=1)
也是一个选项:

(abs(df - [A, B]) <= tolerance).all(axis=1)
这可以用作选择所需行的索引:


完整的工作示例

import pandas as pd

data = {'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        'B': [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]}

df = pd.DataFrame(data, columns=['A', 'B'])


def nearest_values(df, *cols, tolerance=2):
    return df[(abs(df - cols) <= tolerance).all(axis=1)]


print(nearest_values(df, 5, 15))
将熊猫作为pd导入
数据={'A':[1,2,3,4,5,6,7,8,9,10],
‘B’:[11、12、13、14、15、16、17、18、19、20]}
df=pd.DataFrame(数据,列=['A','B'])
def最接近的_值(df,*cols,公差=2):

返回df[(abs(df-cols))请从“演示如何解决此编码问题”不是堆栈溢出问题。我们希望您做出诚实的尝试,然后询问有关您的算法或技术的特定问题。堆栈溢出不是为了替换现有文档和教程。确定两个值是否“接近”在许多地方都有介绍。在给定条件下过滤数据帧在任何PANDAS教程中都有介绍。您是如何陷入困境的?请重复“演示如何解决此编码问题”不是堆栈溢出问题。我们希望您做出诚实的尝试,然后询问有关您的算法或技术的特定问题。堆栈溢出不是为了替换现有文档和教程。确定两个值是否“接近”在很多地方都有介绍。在给定条件下过滤数据帧在任何PANDAS教程中都有介绍。您是如何陷入困境的?