- Серия Pandas для начинающих
- Pandas for Python Tutorial
- Pandas Шпаргалка: 35 лучших команд и операций
- Начните свою карьеру в качестве аналитика данных.
- Знакомство с Pandas для Python
- Популярность Pandas
- Первый шаг: установка Pandas
- Панды Структуры данных и типы данных
- Серии: наиболее важные операции
- Присвойте имена нашим значениям
- Выберите записи из Series
- Удалять записи из серии
- DataFrame: самый важный операции
- Получение информации о ваших данных
- Поиск и выбор в нашем DataFrame
- Продолжайте обучение.
- Создайте новый DataFrame из предварительно существующие столбцы
- Переиндексировать данные в DataFrame
- Как читать или импортировать данные Pandas
- Чтение и импорт данных из CSV файлов
- Чтение и импорт данных из JSON
- Чтение и импорт данных из файла Excel
- Обработка данных с помощью Pandas
- Слияние с Pandas
- Группировка с помощью Pandas
- Конкатенация
- Заключение и следующие шаги
- Продолжайте читать о Python и анализе данных
Серия Pandas для начинающих
-
Pandas for Python Tutorial
-
Pandas Шпаргалка: 35 лучших команд и операций
Данные — важная часть нашего мира. Фактически, 90% мировых данных было создано всего за последние 3 года. Многие технологические гиганты начали нанимать специалистов по данным для анализа данных и извлечения полезной информации для принятия бизнес-решений.
В настоящее время Python является наиболее важным языком для анализа данных, и многие из стандартных инструментов написаны в Python. Python Pandas — один из самых важных и востребованных инструментов, который необходимо изучить любому начинающему аналитику данных. Сегодня мы познакомим вас с основами Pandas.
Сегодня мы рассмотрим:
- Знакомство с Pandas для Python
- Типы и структуры данных Pandas
-
Series
: наиболее важные операции -
DataFrame
: наиболее важные операции - Как читать и импортировать данные Pandas
- Обработка данных с помощью Pandas
- Дальнейшие действия
Начните свою карьеру в качестве аналитика данных.
Узнайте, как выполнять прогнозный анализ данных с помощью инструментов Python.
Прогнозный анализ данных с помощью Python
Знакомство с Pandas для Python
Библиотека Pandas — один из самых важных и популярных инструментов для ученых и аналитиков данных Python, поскольку она является основой многих проектов данных. Pandas — это пакет Python с открытым исходным кодом для очистки и обработки данных. Он предоставляет расширенные гибкие структуры данных для хранения различных типов помеченных и реляционных данных. Кроме того, на самом деле его довольно легко установить и использовать.
Pandas часто используется вместе с другими библиотеками Python для анализа данных. Фактически, Pandas построен на пакете NumPy, поэтому многие структуры между ними похожи. Pandas также используется в SciPy для статистического анализа или с Matplotlib для построения графиков функций. Pandas можно использовать отдельно с текстовым редактором или с Juptyer Notebooks, идеальной средой для более сложного моделирования данных. Pandas доступен для большинства версий Python, включая Python3.
Считайте Pandas домом для ваших данных , где вы можете очищать, анализировать и преобразовывать свои данные , все в одном месте. Pandas по сути является более мощной заменой Excel. Используя Pandas, вы можете делать такие вещи, как:
- Легко вычислять статистику о данных, например находить среднее значение, распределение и медианное значение столбцов.
- Использовать инструменты визуализации данных, такие как Matplotlib, для простого создания полос графиков, гистограмм и т. д.
- Очистите данные, фильтруя столбцы по определенным критериям или легко удаляя значения.
- Манипулировать ваши данные гибко с помощью таких операций, как слияние, объединение, изменение формы и т. д.
- Чтение, запись и сохранение ваших чистых данных в виде базы данных, файла
txt
илиCSV
файл
Популярность Pandas
Как мы узнали, Python — самый популярный язык программирования. язык для анализа данных, и многие популярные библиотеки машинного обучения и визуализации написаны на Python, включая Pandas, Numpy, TensorFlow, Matplotlib, Scikit-learn и другие. Фактически, Python занял 4-е место в опросе StackOverflow 2020 года как самый популярный язык программирования, и его любят за его простоту, легкость обучения и улучшенную поддержку библиотек.
Pandas — важная часть. аналитики данных. Он занимает 4-е место среди самых популярных и любимых библиотек. Он также неизменно занимает высокие позиции среди самых востребованных инструментов программирования, что является верным признаком того, что Pandas является востребованным инструментом для разработчиков по всему миру. Изучение Pandas — важный шаг к тому, чтобы стать аналитиком данных.
Первый шаг: установка Pandas
Вы можете установить Pandas с помощью встроенного инструмента Python pip
и выполнить следующую команду.
$ pip install pandas
Панды Структуры данных и типы данных
Тип данных подобен внутренней конструкции, которая определяет, как Python будет манипулировать, использовать или хранить ваши данные. При анализе данных важно использовать правильные типы данных, чтобы избежать ошибок. Pandas часто правильно определяет типы данных, но иногда нам нужно явно преобразовать данные. Давайте рассмотрим типы данных, доступные нам в Pandas, также называемые dtypes
.
-
object
: текстовые или смешанные числовые или нечисловые значения -
int64
: целые числа -
bool
: true/false значения -
float64
: числа с плавающей запятой -
category
: конечный список текстовых значений -
datetime64
: значения даты и времени -
timedelta [ns]
: различия между двумя датами
структура данных — это особый способ организации наших данных. Pandas имеет две структуры данных, и все операции основаны на этих двух объектах:
-
Series
-
DataFrame
Думайте об этом как о диаграмме для удобного хранения и организации, где Series — это столбцы, а DataFrame — это таблица, состоящая из коллекции серии. Серии
лучше всего можно описать как единственный столбец двухмерного массива, в котором могут храниться данные любого типа. DataFrame
похож на таблицу, в которой хранятся данные, аналогичные электронной таблице, с использованием нескольких столбцов и строк. Каждое значение в объекте DataFrame
связано с индексом строки и индексом столбца.
Серии
: наиболее важные операции
Мы можем начать работу с Pandas, создав серию. Мы создаем серию, вызывая метод pd.Series ()
и затем передавая список значений. Мы печатаем эту серию с помощью оператора print
. По умолчанию Pandas будет считать индекс от 0. Затем мы явно определяем эти значения.
series1 = pd.Series ([1,2,3,4]) print ( series1)
Давайте рассмотрим более сложный пример. Запустите приведенный ниже код.
# импорт панд в нашу программуимпорт панд как pd # Определение серии objectsrs = pd.Series ([1,2,3,4,5]) # печать значений серии print ("Значения серии:") print ( srs.values) # печать серий indexesprint (" n Значения индекса:") print (srs.index.values)
Как это работает? Итак, функция srs.values
в строке 9 возвращает значения, хранящиеся в объекте Series
, а функция srs.index.values
в строке 13 возвращает значения индекса.
Присвойте имена нашим значениям
Pandas будет автоматически генерировать наши индексы, поэтому нам нужно их определить. Каждый индекс соответствует своему значению в объекте Series
. Давайте посмотрим на пример, в котором мы назначаем название страны темпам роста населения.
# импорт панд в нашу программуимпорт панд как pd # Определение серии objectsrs = pd.Series ([11.9, 36.0, 16.6, 21.8, 34.2], index = [' Китай, Индия, США, Бразилия, Пакистан]) # Установить имена серий. name = "Growth Rate" # Установить индекс namesrs.index.name = "Country" # печать значений серии print ("Значения индексированной серии:") print (srs)
Как это работает? Два атрибута серии
используются в строке 8 и строке 11. Атрибут srs.name
устанавливает имя нашего объекта серии. Атрибут srs.index.name
затем устанавливает имя для индексов. Довольно просто, правда?
Выберите записи из Series
Чтобы выбрать записи из Серии
, мы выбираем элементы на основе имени индекса или номера индекса.
импортировать numpy как npimport pandas как pdsrs = pd.Series (np.arange (0, 6, 1) , index = ['ind0', 'ind1', 'ind2', 'ind3', 'ind4', 'ind5']) srs.index.name = "Index" print ("Исходная серия: n", srs ) print (" nSeries элемент с индексом ind3:") print (srs ['ind3']) # Получить элемент по индексу с именем ind3print (" nSeries элемент с индексом 3:") print (srs [3]) # Получить элемент по индексу 3print (" nSeries элементов по нескольким индексам: n") print (srs [['ind1', 'ind4']]) # Получение элементов по нескольким индексам
iv>
Как это работает? Ну, элементы из серии
выбираются тремя способами.
- В строке 9 элемент выбирается на основе имени индекса.
- В строке 12 элемент выбирается по порядковому номеру. Имейте в виду, что номера индексов начинаются с
0
. - В строке 15 несколько элементов выбираются из
Series
путем выбора несколько названий индексов внутриinventory
.
Удалять записи из серии
Удаление и нежелательный индекс — обычная функция в Pandas. Если функция drop (index_name)
вызывается с заданным индексом для объекта Series
, желаемое имя индекса удаляется.
импортировать numpy как npimport pandas as pdsrs = pd.Series (np.arange (0, 6, 1), index = ['ind0', 'ind1', 'ind2', 'ind3', 'ind4', 'ind5']) srs. index.name = "Index" print ("Исходная серия: n", srs) srs = srs.drop ('ind2') # удаление индекса с именем ind2print ("The New Series: n", srs)
Здесь вывод, что ind2
index удаляется. Кроме того, индекс можно удалить, только указав имя индекса, а не номер. Итак, srs.drop (srs [2])
не работает.
Довольно просто, правда? Их много другие функции, условия и логические операторы, которые мы можем применить к нашему объекту series
, чтобы продуктивно использовать индексы.
Вот некоторые из этих функций:
- Условие
srs [srs == 1.0]
вернет объект серии, содержащий индексы со значениями, равными 1.0. -
name: str, необязательно
дает имя серии. -
copy: bool, default False
позволяет нам копировать данные, которые мы input - Функция
notnull ()
вернет объект серии с индексами, присвоеннымиFalse
(дляNaN
или нулевые значения), а остальным индексам присваиваетсяTrue
- и многое другое
DataFrame
: самый важный операции
Есть несколько способов создать DataFrame
в Pandas. Самый простой способ создать его с нуля — создать и распечатать df
.
импортировать панды как pddf = pd.DataFrame ({"Column1": [1, 4, 8, 7, 9], «Столбец2»: ['a', 'столбец', 'с', 'a', 'строка'], «Столбец3»: [1.23, 23.5, 45.6, 32.1234, 89.453], «Столбец4»: [True, False , True, False, True]}) print (df)
Мы также можем создать dict
и передать данные нашего словаря конструктору DataFrame. Допустим, у нас есть данные о продажах овощей и мы хотим их систематизировать по типам овощей и количеству. Наши данные будут выглядеть так:
data = {'peppers': [3, 2, 0, 1], 'carrots': [0, 3, 7, 2 ]}
А теперь мы передаем его конструктору с помощью простой команды.
amount = pd. Количество DataFrame (данных)
Как это работало? Ну, каждый элемент или значение в наших данных
будет соответствовать столбцу в созданном DataFrame, как и диаграмма. Индекс для этого DataFrame указан в виде чисел, но мы можем указать их дополнительно в зависимости от наших потребностей. Скажем, мы хотели узнать количество в месяц. Это будет наш новый индекс. Мы делаем это с помощью следующей команды.
quantity = pd.DataFrame (data, index = ['June', 'July', 'August', 'September']) количество
Получение информации о ваших данных
Одна из первых команд, которые вы запускаете после загрузки данных, — это .info ()
, которая предоставляет все необходимые информация о наборе данных.
импортировать панды как pddf = pd.DataFrame ({"Column1": [1, 4, 8, 7, 9], "Column2": ['a', 'column', 'with', 'a' , 'string'], «Column3»: [1.23, 23.5, 45.6, 32.1234, 89.453], «Column4»: [True, False, True, False, True]}) df.info ()
Отсюда вы можете получить доступ к дополнительной информации с помощью других операций, таких как .shape
, который выводит кортеж из (строк, столбцов). Это очень полезно для того, чтобы сообщить нам размер наших данных, особенно после того, как мы их очистили. Таким образом, мы можем узнать, что было удалено.
Мы также можем распечатать имена столбцов набора данных, чтобы найти опечатки или несоответствия форматирования. Для этого мы используем оператор .columns
. Затем вы можете легко переименовать свои столбцы. Кроме того, метод .rename ()
позволяет нам переименовывать столбцы, аналогично функции поиска и замены документа Word.
Поиск и выбор в нашем DataFrame
Мы также необходимо знать, как манипулировать данными в нашем DataFrame или обращаться к ним, например, выбирать, искать или удалять значения данных. Вы можете сделать это по столбцам или по строкам. Посмотрим, как это делается. Самый простой способ выбрать столбец данных — использовать квадратные скобки []
. Мы также можем использовать скобки для выбора нескольких столбцов. Допустим, мы хотели посмотреть только количество овощей в июне.
quantity.loc ['June']
Примечание.
loc
иiloc
используются для поиска данных.
. iloc
выполняет поиск по числовому индексу..loc
выполняет поиск по имени индекса. Это похоже на нарезкуlist
в Python.
Объект Pandas DataFrame
также предоставляет методы для выбора определенных столбцов. В следующем примере показано, как это можно сделать.
импортировать панды как pddf = pd.read_csv ('Cance_stats.csv') print (df.columns) # печатать столбцы DataFrameprint (" nThe First Column") print (df ['Sex']. head ()) # Получить столбец пола из DataFrameprint (" nТип этого столбца:" + str (type (df ['Sex'])) + " n") print (" nThe Second Column") print (df ['Under 1']. head ()) # Получить столбец Under 1 из DataFrameprint (" nТип этого столбца:" + str (type (df ['Under 1 '])) + " n") print (" nThe Last Column") print (df ['40 -44']. Head ()) # Получить столбец 40-44 из DataFrameprint (" nТип этот столбец: "+ str (type (df ['40 -44 '])) +" n ")
В строке 5 функция df.columns
отображает имена всех имеющихся столбцов. Мы получаем доступ к столбцу по его имени. В строках 8, 12 и 17 df ['column_name']
используется для получения 1-го, 2-го и последнего столбца.
Продолжайте обучение.
Изучите Pandas и анализ данных, не просматривая видео или документацию. Текстовые курсы Educative просты в использовании и содержат среду программирования в реальном времени, что делает обучение быстрым и эффективным.
Прогнозный анализ данных с помощью Python
Создайте новый DataFrame из предварительно существующие столбцы
Мы также можем захватить несколько столбцов и создать из них новый объект DataFrame
.
импортировать панды как pddf = pd.read_csv (' test.csv ') print (df.columns) print (" nОригинальный фрейм данных:") print (df.head ()) print (" nНовый фрейм данных с выбранными столбцами: n") new_df = pd.DataFrame (df, columns = ['Sex', 'Under 1', '40-44 ']) print (new_df. head ())
Переиндексировать данные в DataFrame
Мы также можем переиндексировать данные либо по самим индексам, либо по столбцам. Повторное индексирование с помощью reindex ()
позволяет нам вносить изменения, не нарушая исходную настройку объектов.
Примечание: Правила переиндексации одинаковы для объектов
Series
иDataFrame
.
# импорт панд в нашу программуимпорт панд как pd # Определение series objectsrs1 = pd.Series ([11.9, 36.0, 16.6, 21.8, 34.2], index = ['China', 'India', 'USA', 'Brazil', 'Pakistan']) # Установить имена серииrs1.name = "Growth Rate" # Установить индекс namesrs1.index.name = "Country" srs2 = srs1.reindex (['Китай', 'Индия', 'Малайзия', 'США', 'Бразилия', 'Пакистан', 'Англия' ]) print ("Серия с новыми индексами: n", srs2) srs3 = srs1.reindex (['Китай', 'Индия', 'Малайзия', 'США', 'Бразилия', 'Пакистан', ' England '], fill_value = 0) print (" nСерия с новыми индексами: n", srs3)
Как это сработало? Ну, в строке 11 индексы измененный. Новое имя индекса добавляется между Row2
и Row4
. В одной строке 14 ключевое слово columns
должно использоваться специально для переиндексации столбцов DataFrame. Правила такие же, как и для индексов. По умолчанию значения NaN
были присвоены всему столбцу.
Как читать или импортировать данные Pandas
Читать или импортировать данные из других файлов с помощью библиотеки Pandas довольно просто. Фактически, мы можем использовать различные источники, такие как CSV
, JSON
или Excel
для загрузки наших данных и доступа Это. Давайте рассмотрим каждый.
Чтение и импорт данных из CSV
файлов
Мы можем импортировать данные из файла CSV
, что является обычной практикой для пользователей Pandas. Мы просто создаем или открываем наш CSV-файл, копируем данные, вставляем их в наш Блокнот и сохраняем в том же каталоге, где находятся ваши скрипты Python. Затем вы используете немного кода для чтения данных с помощью функции read_csv
, встроенной в Pandas.
импортируйте панды как pddata = pd.read_csv ('овощной.csv') print (data)
read_csv
сгенерирует столбец индекса по умолчанию, поэтому нам нужно изменить это для первый столбец — это индексный столбец. Мы можем сделать это, передав параметр index_col
, чтобы сообщить Pandas, какой столбец индексировать.
data = pd.read_csv ("data.csv ", index_col = 0)
После того, как мы использовали Pandas для сортировки и очистки данных, мы можем сохранить их обратно как исходный файл с помощью простых команд. Вам нужно только ввести имя файла и расширение. Как просто!
df.to_csv ('new_vegetables.csv')
Чтение и импорт данных из JSON
Допустим, у вас есть файл JSON
. Файл JSON в основном похож на сохраненный Python dict
, поэтому Pandas может легко получить к нему доступ и прочитать его с помощью функции read_json
. Давайте посмотрим на пример.
df = pd.read_json ('Purchases.json')
Так же, как с CSV
. После того, как мы использовали Pandas для сортировки и очистки данных, мы можем сохранить их обратно как исходный файл с помощью простых команд. Вам нужно только ввести имя файла и расширение.
df.to_json ('new_purchases.json')
Чтение и импорт данных из файла Excel
Допустим, у вас есть файл Excel. Аналогичным образом вы можете использовать функцию read_excel
для доступа и чтения этих данных.
импортировать панды как pddata = pd.read_excel ('worker.xlsx ') print (data)
После вызова функции read_excel
мы передаем имя файла Excel в качестве аргумента, поэтому read_excel
откроет данные файла. Мы можем print ()
отображать данные. Если мы хотим сделать еще один шаг, мы можем добавить метод loc ()
из предыдущего, позволяющий нам читать определенные строки и столбцы нашего файла.
импортировать панды как pddata = pd.read_excel ('worker.xlsx') print (data.loc [[1,4,7], ['Name', 'Salary']])
Обработка данных с помощью Pandas
Получив данные, мы можем использовать процессы обработки данных для обработки и подготовки данных для анализа. Наиболее распространенными процессами обработки данных являются слияние, конкатенация и группировка. Давайте познакомимся с основами каждого из этих.
Слияние с Pandas
Слияние используется, когда мы хотим собрать данные, которые имеют общую ключевую переменную, но находятся в разных фреймах данных. Чтобы объединить DataFrames, мы используем функцию merge ()
. Скажем, у нас есть df1
и df2
.
импортировать панд как pdd = {'subject_id': [ '1', '2', '3', '4', '5'], 'student_name': ['Марк', 'Халид', 'Дебора', 'Тревон', 'Ворон']} df1 = pd .DataFrame (d, columns = ['subject_id', 'student_name']) print (df1)
импортировать панды как pddata = {'subject_id': [ '4', '5', '6', '7', '8'], 'student_name': ['Eric', 'Imani', 'Cece', 'Darius', 'Andre']} df2 = pd. .DataFrame (data, columns = ['subject_id', 'student_name']) print (df2)
Итак, как их объединить? Все просто: с помощью функции merge ()
!
pd.merge (df1, df2, on = 'subject_id')
Группировка с помощью Pandas
Группировка — это то, как мы классифицируем наши данные. Если значение встречается в нескольких строках одного столбца, данные, связанные с этим значением в других столбцах, могут быть сгруппированы вместе. Как и в случае слияния, это проще, чем кажется. Мы используем функцию groupby
. Посмотрите на этот пример.
# import pandas libraryimport pandas as pdraw = {'Name': ['Darell', 'Darell', 'Lilith', 'Lilith', 'Tran', 'Tran', 'Tran', 'Tran', «Джон», «Дарелл», «Дарелл», «Дарелл»], «Позиция»: [2, 1, 1, 4, 2, 4, 3, 1, 3, 2, 4, 3], «Год» : [2009, 2010, 2009, 2010, 2010, 2010, 2011, 2012, 2011, 2013, 2013, 2012], «Знаки»: [408, 398, 422, 376, 401, 380, 396, 388, 356, 402, 368, 378]} df = pd.DataFrame (raw) group = df.groupby ('Year') print (group.get_group (2011))
Конкатенация
Конкатенация — это длинное слово, которое означает добавление набора данные к другому. Для этого мы используем функцию concat ()
. Чтобы прояснить разницу между слиянием и объединением, merge ()
объединяет данные в общих столбцах, а concat ()
объединяет DataFrames по столбцам или строкам.
print (pd. concat ([df1, df2]))
Довольно просто, правда? Вы должны знать о некоторых других распространенных процессах обработки данных:
- Сопоставление данных и поиск дубликатов
- Поиск выбросов в данных
- Агрегация данных
- Изменение формы данных
- Заменить и переименовать
- и многое другое
Заключение и следующие шаги
Теперь, когда у вас есть хорошее представление о Python Pandas и бесчисленных преимуществах, которые он предлагает, важно знать, что изучать дальше. Когда вы освоите основы, например, как импортировать, читать и обрабатывать данные, пора приступить к следующему этапу анализа данных для Python:
- Статистика
- NumpPy
- Расширенная обработка данных
- Визуализация данных
- Очистка данных
- Реальные проекты
Образовательный курс Predictive Data Analysis for Python охватывает все эти и другие концепции с практической практикой и отраслевыми стандартными примерами. . Вы можете освоить Pandas с помощью викторин, интерактивных примеров и анализа реального поведения. К концу вы станете уверенным аналитиком данных!
Продолжайте читать о Python и анализе данных
- Прекратить использование Excel для анализа данных: обновление до Python
- Повысьте свои навыки Python с помощью этих 6 задач.
- Шпаргалка по Pandas: 35 лучших команд и операций