Фильтрация строк информационного кадра по значениям в столбцах - PullRequest
2 голосов
/ 27 сентября 2019

Я хочу отфильтровать строки кадра данных, который содержит значения меньше, чем, скажем, 10.

import numpy as np
import pandas as pd
from pprint import pprint
df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))
df = df[df <10]

дает,

A   B    C    D
0  5.0 NaN  NaN  NaN
1  NaN NaN  NaN  NaN
2  0.0 NaN  6.0  NaN
3  NaN NaN  NaN  NaN
4  NaN NaN  NaN  NaN
5  6.0 NaN  NaN  NaN
6  NaN NaN  NaN  NaN
7  NaN NaN  NaN  7.0
8  NaN NaN  NaN  NaN
9  NaN NaN  NaN  NaN

Ожидается:

0   5  57  87  95
2   0  80   6  82
5   6  33  74  75
7  71  44  60   7

Любые предложения о том, как получить ожидаемый результат?

1 Ответ

3 голосов
/ 27 сентября 2019

Использование:

np.random.seed(21)
df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))

Если хотят фильтра любого значения состояния, необходимо добавить DataFrame.any для испытания по крайней мере один True из булева DataFrame:

df1 = df[(df < 10).any(axis=1)]
print (df1)
    A   B   C   D
0  73  79  56   4
5   5  18  70  50
7   5  80  35  91
9   6  84  90  28

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