Удаление столбца в кадре данных на основе другого столбца - PullRequest
1 голос
/ 12 марта 2019

У меня есть фрейм данных с именем jobs

position           software    salary  degree     location    industry
architect          autoCAD     400     masters    london       AEC
data analyst       python      500     bachelors   New York   Telecommunications
personal assistant excel       200     bachelors   London      Media
..... 

У меня есть другой фрейм данных с именем 'preference'

name         value
position      2
software      4
salary        3
degree        1
location      3
industry      1  

Я бы хотел удалить столбцы из фрейма данных 'jobs', чьи предпочтениязначение меньше 2, поэтому у меня есть


position           software    salary     location    
architect          autoCAD     400        london       
data analyst       python      500        New York   
personal assistant excel       200        London      
..... 

Это то, что у меня есть

jobs.drop(list(jobs.filter(preference['value'] < 2), axis = 1, inplace = True)

, но, похоже, столбцы (степень и отрасль) не сбрасываются.Любая помощь будет оценена

Ответы [ 2 ]

1 голос
/ 12 марта 2019

Я думаю, что ваша попытка почти у цели. Вот что у меня есть:

>>>jobs.drop(preference.loc[preference['value'] < 2,'name'], axis=1, inplace=True)

             position software  salary  location
0           architect  autoCAD     400    london
1        data analyst   python     500  New York
2  personal assistant    excel     200    London
0 голосов
/ 12 марта 2019

Это должно работать для вас:

jobs.drop(preferences.loc[preferences.value < 2, 'name'], axis=1, inplace=True)

Вот почему ваша строка кода не работает:

  • во-первых, отсутствует закрывающая скобка (но я думаю, это просто опечатка)
  • метод filter должен применяться к preferences вместо jobs
  • filter не совсем то, что вы хотите использовать здесь, чтобы получить список имен: preferences.loc[preferences.value < 2, 'name'] возвращает список всех имен со значением <2 </li>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...