Категоризация данных на основе строки в каждой строке - PullRequest
1 голос
/ 16 октября 2019

У меня есть следующий фрейм данных:

 raw_data = {'name': ['Willard', 'Nan', 'Omar', 'Spencer'],
'Last_Name': ['Smith', 'Nan', 'Sheng', 'Poursafar'],
'favorite_color': ['blue', 'red', 'Nan', "green"],
'Statues': ['Match', 'Mis-Match', 'Match', 'Mis_match']}
df = pd.DataFrame(raw_data, columns = ['name', 'age', 'favorite_color', 'grade'])
df

Я хочу выполнить следующие задачи:

  1. Разделить строки, содержащие Match и Mis-match
  2. Создайте категорию, которая содержит только людей, чье имя и фамилия - Нэн и которые любят цвет (любой цвет, кроме НАН).

Можете ли вы, ребята, помочь мне?

1 Ответ

1 голос
/ 16 октября 2019

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

df1 = df[df['Statues'] == 'Match']
df2 = df[df['Statues'] =='Mis-Match']

Если пропущенные значения не являются строками, используйте Series.isna и Series.notna:

df3 = df[df['Name'].isna() & df['Last_NameName'].isna() & df['favorite_color'].notna()]

Если Nan s - строки, сравните на Nan:

df3 = df[(df['Name'] == 'Nan') & 
         (df['Last_NameName'] == 'Nan') &
         (df['favorite_color'] != 'Nan')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...