В своей предыдущей статье я рассмотрел некоторые из распространенных запросов, с которыми сталкивается новичок при работе с различными наборами данных. Эта статья является продолжением моих предыдущих статей.

Я продолжу демонстрировать дальнейшие концепции, используя тот же набор данных (НЛО), который использовался в первой и второй частях этой статьи.

Как изменить категориальные характеристики на числовые?

Категориальные характеристики необходимо изменить на числовые, чтобы они соответствовали какой-либо конкретной модели. Хотя использование Label Encoder выгодно и удобно, pandas предоставляет метод для изменения категориальных характеристик на числовые с помощью get_dummies.

pd.get_dummies(ufo,columns=['City'])

Как применить функцию к серии pandas или DataFrame?

Этого можно добиться тремя способами.

  • applymap-Применить функцию к каждому элементу в DataFrame
  • apply-Применить функцию к каждому элементу в серии
  • map - Сопоставить существующие значения Серии с другим набором значений

Давайте отделим год от заданного формата времени в DataFrame.

ufo['Time']=ufo['Time'].apply(lambda x:x.split('/')[2])
#splits string using '/' as a separator 
ufo['Time']=ufo['Time'].apply(lambda x:x.split(' ')[0])
#splits string using ' ' as a separator

Для демонстрации карты и метода applymap я создал новый столбец и назвал его «Новый» (отсутствие творчества), содержащий значения 0 и 1.

ufo['Valid']=ufo.New.map({0:'No',1:'Yes'})

ufo.loc[:,'Time':'New'].applymap(float)
#apply map is only valid for DataFrame and not series object

Как мне найти и удалить повторяющиеся строки в пандах?

Вы можете обнаружить повторяющиеся строки, присвоив .duplicated() всему DataFrame. Можно также проверить аналогичные значения столбца, используя тот же атрибут для объекта серии.

Логика для duplicated:

  • keep='first' (по умолчанию): помечать дубликаты как True, за исключением первого вхождения.
  • keep='last': пометить дубликаты как истинные, за исключением последнего вхождения.
  • keep=False: пометить все дубликаты как True.
ufo.duplicated().sum()
#checks the total no of rows that are identicle 
ufo.drop_duplicates(keep='first',inplace=True)
#dropping duplicate entries keeping the very first of each

Конечно, остается еще много техник, которые в конечном итоге можно обнаружить, играя с наборами данных, но в моей серии статей освещаются некоторые, если не все запросы, с которыми я столкнулся при работе с наборами данных. Надеюсь, вам понравилось читать мои статьи

Это знаменует конец серии «Основы Pandas». Надеюсь, вам понравилось это читать. Ознакомьтесь с двумя другими статьями, относящимися к этой серии, здесь

Основы Pandas - Часть 1

Основы Pandas - Часть 2

Спасибо 😉