Ссылка на курс 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 хахахаха, изичайше!

Собственно все. Рекомендую курс к прохождению!