Ссылка на курс https://www.kaggle.com/learn/pandas
1. Creating, Reading and Writing
В пандасе есть 2 основных объекта — это фреймы данных и серии
Фреймы имеют такой вид:
т.е. название столбца и значения, а далее по Индексу названия строк.
Серии имеют только один столбец, и к нему можно придумать свой индекс:
По-сути, фреймы это склеенные между собой Серии)
Чтение файлов
130000 тысячи записей между 14 столбцами
Вот так можно поглядеть первые 5 записей:
часто надо делать так, чтобы прочитать 0 строку? или типа того
т.е. добавлять интекс-кол
Сохранение фрейма в csv
бля как все просто оказывается
2. Indexing, Selecting & Assigning
Доступ к столбцу можно получить либо напрмую обращаясь к названию столбца, либо через индекс столбца:
Indexing in pandas — работает по двум основным парадигмам. Первый это
Index-based selection или iloc — выбор данных на основе их числового положения в данных.
Так выбираем первую строку:
а тут столбец
Причем в самом питоне, все наоборот, сначала столбец выбирается, далее строка.
Сам нужный столбец, можно выбирать разными способами! вот например так
Также, можно использовать обратные числа, чтобы начать отчет с конца)
Label-based selection или loc — на основе значение индекса данных, а не их положения. Что это значит, я хз, но объяснения ниже:
Вроде как loc делает индекс неудобный с 0 до 999, а iloc наоборот удобным. Хотя лок может какие-то списки со словами обрабатывать
Manipulating the index — можно присваивать индекс! Вот например:
3. Summary Functions and Maps
Summary functions — возможно это переводится как сводные функции) по сути, есть встроенные в библиотеку методы, которые позволяют быстро глянуть какие-то общие данные, например .describe() .mean() .unique() — каждая что-то может показать
Maps — принимает одни значения и сопоставляет с другими, есть два вида:
и
Странная штука
типо можно один список поделить на другой и к сумме применить какой-то метод)
4. Grouping and Sorting
Группировка такая же как в sql, только синтаксис другой
По каждой группе можно также делать операции (минимальное значение, максимальное и т.д)
вот еще пример прикольного кода:
Что тут происходит: «Этот код группирует данные в DataFrame reviews
по столбцу ‘winery’ и применяет лямбда-функцию к каждой группе данных. Внутри лямбда-функции происходит доступ к значению столбца ‘title’ для каждой группы данных с помощью метода iloc[0]
. Это означает, что из каждой группы данных выбирается только первое значение столбца ‘title’.
В результате получается Series, где каждому уникальному значению в столбце ‘winery’ соответствует его первое значение в столбце ‘title’.» — от так вот
Двойные группировки тоже можно производить
Мало этого, можно и по группировка делать разные агрегирующие функции, что?
Еще пример классной группировки, это реально круто:
Sorting
Забавная сортировка, по умолчанию с меньшего к большему, а чтобы сделать обратно, надо отменить
Ну и можно дважды сортировать)
5. Data Types and Missing Values
Dtypes — можем вызывать и проверять тип строки/столбца
reviews.price.dtype
reviews.dtypes
reviews.points.astype('float64') - принудительно в другой тип через astype
Missing data
Отбирать дешевок нулевики можно так
Кстати, NaN — это not a number 😃
Замена нулевых значений тоже типа простая операция:
ФИЛЛНА!
Замена обычных значений:
6. Renaming and Combining
Renaming — понятно что можно переименовывать столбы и строки, и даже в общем-то понятно как. для примера:
Индекс аналогочино
Combining —
Мержить можно 3мя функциями:
concat()
join()
merge()
Конкат самый простой, если в разных файлах совпадают названия, то мержить их просто
Джойн — это второй по сложности, и как я понял, это аналог SQL хахахаха, изичайше!
Собственно все. Рекомендую курс к прохождению!