Как выбрать столбцы, которые имеют только положительные значения? - PullRequest
0 голосов
/ 03 сентября 2018

Учитывая кадр данных панд df, мне нужно выбрать те столбцы, которые имеют только положительные значения.

df =
  Age    Fare     Dev
  21     10        -1
  35     9        0
  28     12       1

Моей первой идеей было использовать df.describe(), а затем выбирать только те столбцы, у которых минимальное значение больше или равно 0. Но я застрял с реализацией. Видимо row.columns не работает, потому что в Series нет свойства columns.

properties = df.describe()
positive_cols = []
for index,row in properties.iterrows():
    for col in row.columns:
        print(col)

1 Ответ

0 голосов
/ 03 сентября 2018

Используйте ge (>=) для сравнения DataFrame. Затем получите логическую маску со всеми True с all и последним использованием loc, потому что фильтруются столбцы:

df = df.loc[:, df.ge(0).all()]
print (df)
   Age  Fare
0   21    10
1   35     9
2   28    12

Подробнее :

print (df.ge(0))
    Age  Fare    Dev
0  True  True  False
1  True  True  False
2  True  True   True

print (df.ge(0).all())
Age      True
Fare     True
Dev     False
dtype: bool
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...