Рубрики
Без рубрики

10 минут до Пандас (через 5 минут)

https://youtu.be/-jkvy_hliqe Этот учебник дает вам быстрое и грязное введение в самые важные функции Pandas. Популярный QuickStart в библиотеку Pandas предоставляется официальным руководством «10 минут до Пандас». Этот учебник перед вами стремится покрыть наиболее важные 80% официального руководства, но в 50% от … 10 минут до Пандас (через 5 минут) Подробнее “

Автор оригинала: Chris.

В этом руководстве дается вам быстрое и грязное введение в самые важные функции Pandas. Популярный QuickStart в библиотеку Pandas предоставляется официальным «10 минут до Пандас» руководство.

Это руководство перед вами стремится охватывать наиболее важные 80% официального руководства, но в 50% времени. Готовы ли вы инвестировать 5 ваших драгоценных минут, чтобы начать работу в Пандах и повысить свои навыки данных и навыки Python в то же время? Давайте погрузимся прямо в это!

Визуальный обзор [чит-лист]

Я всегда нахожу полезным дать быстрый обзор тем, охватываемых в визуальной форме. Чтобы помочь вам понять большую картину, я визуализировал темы, описанные в этой статье в следующих чит-листе Pandas:

Давайте перейдем на разные части этого визуального обзора пошагового шага.

Как использовать Pandas?

Вы получаете доступ к библиотеке Pandas с Импортировать панды как PD Заявление, которое присваивает идентификатор Name Name PD к модулю для простоты доступа и краткости. Вместо Pandas.somefunction () Теперь вы можете позвонить PD.somefunction () Отказ

import pandas as pd

Вы можете установить библиотеку Pandas в вашу виртуальную среду или компьютер, используя следующую команду:

pip install pandas

Если вы не можете сделать это, вы столкнетесь с ошибкой импорта:

>>> import pandas as pd
Traceback (most recent call last):
  File "yourApp.py", line 1, in 
    import pandas as pd 
ImportError: No module named pandas

Пандас уже установлен во многих средах, таких как в анаконде. Вы можете найти подробную руководство по установке здесь:

Руководство по установке: https://pandas.pydata.org/pandas-docs/stable/getting_started/install.html.

Как создавать объекты в пандах?

Два самых важных типа данных в пандах являются серии и DataFrames.

  • А Панда серии является одномерным меченым массивом значений данных. Подумайте об этом как о столбце в листе Excel.
  • А Pandas DataFrame Это двумерная меченая структура данных – очень похожа на электронную таблицу (E.g., Excel) в вашем коде Python.

Эти две структуры данных являются помечены -Мы называете этикетки Индексы структур данных. Основное отличие состоит в том, что серия одномерная, в то время как датафарам является двумерным.

Серия : Вот пример того, как создать объект серии:

import pandas as pd


s = pd.Series([42, 21, 7, 3.5])
print(s)
'''
0    42.0
1    21.0
2     7.0
3     3.5
dtype: float64
'''

Вы используете портить Серия () Конструктор и пропустите плоский список значений в него. Вы также можете пропустить другие типы данных, такие как строки в него. Pandas автоматически определяет тип данных всей серии в Dtype атрибут.

Dataframe. : Вот пример того, как создать объект DataFrame:

import pandas as pd


s = pd.DataFrame({'age': 18,
                  'name': ['Alice', 'Bob', 'Carl'],
                  'cardio': [60, 70, 80]})

print(s)
'''
   age   name  cardio
0   18  Alice      60
1   18    Bob      70
2   18   Carl      80
'''

Вы используете портить Dataframe () Конструктор с одним аргументом: Словарь Это описывает датафарам. Словарь отображает имена столбцов, такие как «Возраст» , «Имя» и «кардио» к значениям столбцов, таких как [«Алиса», «Боб», «Карл»] Для колонны «Имя» Отказ Вы можете предоставить только одно значение столбца, например 18 и назначьте его целую колонку, такую как «Возраст» Отказ Pandas тогда автоматически трансляция Значение для всех существующих строк в DataFrame.

Как выбрать элементы в серии и данных DataFrames?

Давайте применяем некоторые первые принципы мышления: как серия, так и датафарам Структуры данных Отказ Целью структуры данных является облегчить хранение, доступ и анализ данных Отказ В качестве альтернативы, вы можете хранить Табличные данные С рядами и колоннами в Список кортежи – один на ряд – но доступ к данным был бы очень неэффективным. Тем не менее, доступ к всем элементам I-й колонны будет очень больно, потому что вам придется пройти весь список и состоит в том, чтобы совокупность I-й ценности кортежей.

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

Колонка : Вот как вы можете получить доступ к столбцу с схемой индексации, вы уже знаете из Словари Python и Numpy массивы (Обозначение квадратных кронштейнов):

import pandas as pd


s = pd.DataFrame({'age': 18,
                  'name': ['Alice', 'Bob', 'Carl'],
                  'cardio': [60, 70, 80]})
'''
   age   name  cardio
0   18  Alice      60
1   18    Bob      70
2   18   Carl      80
'''

# Select all elements in column 'age'
print(s['age'])
'''
0    18
1    18
2    18
Name: age, dtype: int64
'''

После импорта модуля PandaS и создании DataFrame с тремя столбцами и тремя строками вы выбираете все значения в столбце, помеченном «Возраст» Использование квадратной нотации кронштейна S [«Возраст»] Отказ Семантически эквивалентная альтернатива будет синтаксисом S.AGE Отказ

Ряды : Вы можете получить доступ к определенным строкам в DataFrame с помощью обозначения нарезки S [Старт: Стоп] Отказ Чтобы получить доступ только одну строку, установите Начните и конец Индексы соответственно:

import pandas as pd


s = pd.DataFrame({'age': 18,
                  'name': ['Alice', 'Bob', 'Carl'],
                  'cardio': [60, 70, 80]})
'''
   age   name  cardio
0   18  Alice      60
1   18    Bob      70
2   18   Carl      80
'''


print(s[2:3])
'''
   age  name  cardio
2   18  Carl      80
'''

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

Статья

  • Ultimate Guide к Python Нарезка
  • Намененное нарезка

Логическая индексация

Мощный способ доступа к строкам, которые соответствует определенному условию, это Логическая индексация Отказ

import pandas as pd


s = pd.DataFrame({'age': 18,
                  'name': ['Alice', 'Bob', 'Carl'],
                  'cardio': [60, 70, 80]})
'''
   age   name  cardio
0   18  Alice      60
1   18    Bob      70
2   18   Carl      80
'''


print(s[s['cardio']>60])
'''
   age  name  cardio
1   18   Bob      70
2   18  Carl      80
'''

Состояние S ['Cardio']> 60 приводит к ряду логических ценностей. i -место логическое значение – «Истина» Если Я -ный элемент «кардио» столбец больше 60. Это держит для первых двух рядов DataFrame.

Затем вы передаете эти логические значения в качестве схемы индексации в DataFrame S который приводит к DataFrame только с двумя рядами вместо трех.

Выбор по этикетке

Вы можете получить доступ к PandaS Dataframe на этикетке с использованием механизма индексации pd.loc [ряды, столбцы] Отказ Вот пример:

import pandas as pd


df = pd.DataFrame({'age': 18,
                   'name': ['Alice', 'Bob', 'Carl'],
                   'cardio': [60, 70, 80]})
'''
   age   name  cardio
0   18  Alice      60
1   18    Bob      70
2   18   Carl      80
'''


print(df.loc[:, 'name'])
'''
0    Alice
1      Bob
2     Carl
Name: name, dtype: object
'''

В примере вы получите доступ к всем строкам из колонны «Имя» Отказ Чтобы получить доступ к первым двум рядам с столбцами «Возраст» и «кардио» Используйте следующую схему индексации, передавая список меток столбцов:

print(df.loc[:, ['age', 'cardio']])
'''
   age  cardio
0   18      60
1   18      70
2   18      80
'''

Пока loc Индекс предоставляет вам способ получить доступ к содержимому содержимое DataFrame с помощью метки, вы также можете получить доступ к нему по индексу, используя Iloc показатель.

Выбор по индексу

Как получить доступ к Я -th ряд и J -Й столбец? Iloc Индекс позволяет выполнять именно так:

import pandas as pd


df = pd.DataFrame({'age': 18,
                   'name': ['Alice', 'Bob', 'Carl'],
                   'cardio': [60, 70, 80]})
'''
   age   name  cardio
0   18  Alice      60
1   18    Bob      70
2   18   Carl      80
'''

i, j = 2, 1
print(df.iloc[i, j])
'''
Carl
'''

Первый аргумент Я Доступ к Я – ряд и второй аргумент J Доступ к J -место столбца Iloc показатель. Значение данных в третьей строке с индексом 2 и второй столбец с индексом 1 – «Карл» Отказ

Как изменить существующий dataframe

Вы можете использовать обсуждаемые технологии выбора для изменения и, возможно, перезаписывают часть вашего dataframe. Для этого выберите замены детали или вновь созданные на правой части и установите новые данные на левой стороне выражения назначения. Вот минимальный пример, который перезаписывает целочисленные значения в «Возраст» столбец:

import pandas as pd


df = pd.DataFrame({'age': 18,
                   'name': ['Alice', 'Bob', 'Carl'],
                   'cardio': [60, 70, 80]})
'''
   age   name  cardio
0   18  Alice      60
1   18    Bob      70
2   18   Carl      80
'''

df['age'] = 17

print(df)
'''
   age   name  cardio
0   17  Alice      60
1   17    Bob      70
2   17   Carl      80
'''

Во-первых, вы выбираете возрастной столбец с DF [«Возраст»] Отказ Во-вторых, вы перезаписываете его целочисленным значением 17. Pandas использует вещание Чтобы скопировать одно целое число на все строки в столбце.

Вот более продвинутый пример, который использует нарезку и loc Индекс для перезаписи все, кроме первого ряда возраста столбца:

import pandas as pd


df = pd.DataFrame({'age': 18,
                   'name': ['Alice', 'Bob', 'Carl'],
                   'cardio': [60, 70, 80]})
'''
   age   name  cardio
0   18  Alice      60
1   18    Bob      70
2   18   Carl      80
'''

df.loc[1:,'age'] = 17

print(df)
'''
   age   name  cardio
0   18  Alice      60
1   17    Bob      70
2   17   Carl      80
'''

Можете ли вы обнаружить разницу между DataFrames?

Пандас очень прочная, и если вы поняли различные схемы индексации-кронштейна, нарезки, loc и Iloc -Вы также поймете, как перезаписать существующие данные или добавлять новые данные.

Например, вот как вы можете добавить новый столбец с loc Индекс, нарезка и вещание:

df.loc[:,'love'] = 'Alice'
print(df)
'''
   age   name  cardio   love
0   18  Alice      60  Alice
1   17    Bob      70  Alice
2   17   Carl      80  Alice
'''

В то время как Pandas имеет много дополнительных функций, таких как вычисление статистики, построение, группировка и изменение для имени всего несколько … 5 минут, чтобы урок Pandas заканчивается здесь. Если вы поняли эти концепции, обсуждаемые в этом руководстве, вы сможете прочитать и понимать существующие код Panda с небольшой помощью от официальных документов и Google, чтобы выяснить различные функции.

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

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.

Оригинал: “https://blog.finxter.com/pandas-quickstart/”