Pandas: Создание DataFrame из списков (5 способов!)
В этом посте вы узнаете, как создать DataFrame в Pandas из списков, включая работу с одиночными списками, множественными списками и списками списков. Вы также научитесь создавать индексы и задавать имена столбцам. Эти навыки важны при работе с данными из различных источников, таких как веб парсинг.
Быстрый ответ: используйте класс DataFrame() для создания фреймов данных
Давайте посмотрим, чему вы научитесь!
Оглавление
Объект Pandas dataframe() — краткий обзор
two-dimensional
означает, что он содержит строки и столбцыsize-mutable
означает, что его размер может изменитьсяpotentially heterogeneous
означает, что он может содержать различные типы данных
Вместо этого вы можете использовать параметр data=
, который является первым аргументом по позиции. Параметр data=
может содержать ndarray
, словарь, список или подобный список объект. Из-за множества этих вариантов давайте рассмотрим, как вы можете создать DataFrame из списков Pandas!
Создание Pandas Dataframe из одного списка
Теперь, когда вы понимаете, что такое класс DataFrame
в pandas, давайте рассмотрим, как мы можем создать DataFrame из одного списка.
Помните, что параметр data=
используется для передачи данных. Поскольку параметр data=
является первым параметром, мы можем просто передать список без необходимости указывать параметр.
Давайте рассмотрим, как передать один список для создания дата
Указание имен столбцов при создании Pandas Dataframe
Мы видим, что Pandas успешно создал наш DataFrame, но наш столбец не имеет имени. Поскольку Pandas фактически не знает, как назвать столбец, нам нужно быть более явными и использовать аргумент columns=
. Аргумент columns=
принимает объект, подобный списку, передавая заголовки столбцов в последовательности, в которой и создавались.
Давайте заново создадим наш датафрейм и укажем имя столбца:
Это теперь возвращает четко обозначенный датафрейм.
В следующем разделе вы узнаете, как создать Pandas DataFrame из нескольких списков, используя функцию zip()
.
Создание Pandas Dataframe из нескольких списков с помощью Zip
Предположим, у вас есть более одного списка и вы хотите их передать. К сожалению, простая передача нескольких списков не работает. Из-за этого нам нужно объединить наши списки
Самый простой способ сделать это - использовать встроенную функцию zip()
. Эта функция принимает два или более итерируемых объекта, таких как списки, и объединяет их в один объект, так же как архиватор.
Давайте посмотрим, как это может работать, создав DataFrame Pandas из двух или более списков:
Давайте также разберем, что мы здесь
Мы создали три списка, содержащие
names
,ages
, иlocations
, хранящие наши упорядоченные данные.Затем мы создали объект
zip()
в Python, который содержал сочетания имен, возрастов и местоположений. После этого мы применили функциюlist()
, чтобы превратить этот zip-объект в список кортежей.Затем мы передали этот объект
zipped
в наш классDataFrame()
, вместе со списком названий столбцов, чтобы создать наш датафрейм.
В следующем разделе вы узнаете, как преобразовать списки списков в датафрей.
Создать Pandas Dataframe из списка списков
Возможно, вы часто сталкиваетесь со списками списков, например, работая с данными веб-скрапинга. Списки списков - это просто списки, содержащие другие списки. Их также часто называют многомерными списками. Например, список списков может выглядеть так:
Списки списков ведут себя немного по-другому, поскольку вы по сути добавляете данные на уровне строки, а не на уровне столбца, как мы рассматривали до сих пор.
К счастью, Pandas достаточно умен, чтобы самостоятельно разбить каждый список списков на разные столбцы..
Давайте рассмотрим, как можно создать фрейм данных Pandas из списка списков:
В следующем разделе вы узнаете, как указать типы данных при создании фреймворка данных Pandas из списка.
Указание типов данных с помощью Pandas Dataframes из списков
Хотя Pandas хорошо справляется с определением типов данных, указание типов данных может значительно повысить производительность при загрузке и поддержке вашего датафрейма. Поэтому это важный шаг, если вы замечаете некорректную загрузку данных или хотите управлять использованием памяти вашим дата
Let’s take a look at how we can do this in Pandas. We’ll force the age column to be of size int8
, in order to reduce the memory it uses.
Давайте посмотрим, как мы можем сделать это в Pandas. Мы заставим столбец возраста быть типа int8
, чтобы уменьшить объем используемой памяти.
В следующем разделе вы узнаете, как создать датафрейм Pandas из словарей со списками.
Создание Pandas Dataframe из словарей со списками
В этом заключительном разделе вы узнаете, как работать со словарями, содержащими списки, для создания Pandas DataFrame. Это часто встречается при работе с данными веб-API, когда необходимо преобразовать сложные словари в упрощенные DataFrame
Pandas позволяет передавать словари в параметр data=
, поэтому практически ничего не нужно делать. Давайте посмотрим, как Pandas справляется с созданием DataFrame
Мы передали словарь, содержащий списки в качестве значений. Pandas даже смогли получить названия столбцов, используя значения key
каждого элемента в словаре!
Заключение
В этом посте вы узнали о различных способах создания датафрейма Pandas из списков, включая работу с одним списком, множественными списками с функцией zip()
, многомерными списками и применением имен столбцов и типов данных для вашего датафрейма.
Last updated