Есть ли какой-нибудь короткий путь в пандах, чтобы проверить, находится ли каждое значение вашей матрицы между определенными значениями двух других "граничных" матриц? - PullRequest
0 голосов
/ 09 мая 2018

Пример: проверка matrix_1 должна возвращать True. И matrix_2 - Ложь

import pandas as pd
low_border = pd.DataFrame({'A': [1,2], 'B':[2,3]})
up_border = pd.DataFrame({'A': [5,4], 'B':[4,8]})
matrix_1 = ({'A': [2,3], 'B':[3,4]})
matrix_2 = ({'A': [6,3], 'B':[3,4]})

1 Ответ

0 голосов
/ 09 мая 2018

Вы можете использовать что-то вроде этого:

def test(mt):
    matrix=pd.DataFrame(mt)
    for column in matrix.columns:
        matrix['verify']=pd.Series(((low_border[column] < matrix[column]) & (matrix[column] < up_border[column])), index=matrix.index)
        if False in matrix['verify'].tolist():
            return False
    return True

print(test(matrix_1))
print(test(matrix_2))

Будет выведено:

True
False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...