В своей предыдущей статье я рассмотрел некоторые из распространенных запросов, с которыми сталкивается новичок при работе с различными наборами данных. Эта статья является продолжением моих предыдущих статей.
Я продолжу демонстрировать дальнейшие концепции, используя тот же набор данных (НЛО), который использовался в первой и второй частях этой статьи.
Как изменить категориальные характеристики на числовые?
Категориальные характеристики необходимо изменить на числовые, чтобы они соответствовали какой-либо конкретной модели. Хотя использование Label Encoder выгодно и удобно, pandas предоставляет метод для изменения категориальных характеристик на числовые с помощью get_dummies
.
pd.get_dummies(ufo,columns=['City'])
Как применить функцию к серии pandas или DataFrame?
Этого можно добиться тремя способами.
applymap
-Применить функцию к каждому элементу в DataFrameapply
-Применить функцию к каждому элементу в серии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». Надеюсь, вам понравилось это читать. Ознакомьтесь с двумя другими статьями, относящимися к этой серии, здесь
Спасибо 😉