Как создать Pandas DataFrame из серии (с примерами)
Часто вы можете захотеть создать pandas DataFrame из одной или нескольких серий pandas.
В следующих примерах показано, как создать pandas DataFrame, используя существующие ряды в качестве строк или столбцов DataFrame.
Пример 1: создание Pandas DataFrame с использованием серий в качестве столбцов
Предположим, у нас есть следующие три серии панд:
import pandas as pd #define three Series name = pd.Series(['A', 'B', 'C', 'D', 'E']) points = pd.Series([34, 20, 21, 57, 68]) assists = pd.Series([8, 12, 14, 9, 11])
Мы можем использовать следующий код для преобразования каждой серии в DataFrame, а затем объединить их все в один DataFrame:
#convert each Series to a DataFrame name_df = name. to_frame (name='name') points_df = points. to_frame (name='points') assists_df = assists. to_frame (name='assists') #concatenate three Series into one DataFrame df = pd.concat([name_df, points_df, assists_df], axis= 1 ) #view final DataFrame print(df) name points assists 0 A 34 8 1 B 20 12 2 C 21 14 3 D 57 9 4 E 68 11
Обратите внимание, что каждая из трех серий представлена в виде столбцов в окончательном кадре данных.
Пример 2: создание Pandas DataFrame с использованием серий в качестве строк
Предположим, у нас есть следующие три серии панд:
import pandas as pd #define three Series row1 = pd.Series(['A', 34, 8]) row2 = pd.Series(['B', 20, 12]) row3 = pd.Series(['C', 21, 14])
Мы можем использовать следующий код для объединения каждой серии в кадр данных pandas, используя каждую серию в качестве строки в кадре данных:
#create DataFrame using Series as rows df = pd.DataFrame([row1, row2, row3]) #create column names for DataFrame df.columns = ['col1', 'col2', 'col3'] #view resulting DataFrame print(df) col1 col2 col3 0 A 34 8 1 B 20 12 2 C 21 14
Обратите внимание, что каждая из трех серий представлена в виде строк в окончательном кадре данных.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в Python:
Как создать DataFrames Pandas в Python – 7 методов
Фрейм данных – это двухмерный набор данных, структура, в которой данные хранятся в табличной форме. Наборы данных упорядочены по строкам и столбцам; мы можем хранить несколько наборов данных во фрейме данных. Мы можем выполнять различные арифметические операции, такие как добавление выбора столбца или строки и столбцов или строк во фрейме данных.
Мы можем импортировать DataFrames из внешнего хранилища; эти хранилища могут быть базой данных SQL, файлом CSV или файлом Excel. Мы также можем использовать списки, словарь, список словаря и т. д.
В этом руководстве мы научимся создавать фрейм данных несколькими способами. Давайте разберемся как создать DataFrames Pandas в Python. Во-первых, нам нужно установить библиотеку pandas в среду Python.
Пустой фрейм данных
Мы можем создать базовый пустой фрейм данных. Для создания DataFrame необходимо вызвать конструктор фрейма данных.
# import pandas as pd import pandas as pd # Calling DataFrame constructor df = pd.DataFrame() print(df)
Empty DataFrame Columns: [] Index: []
Метод – 2: создать фрейм данных с помощью списка
Мы можем создать фрейм данных, используя простой список или список списков. Давайте разберемся в следующем примере.
# importing pandas library import pandas as pd # string values in the list lst = ['Java', 'Python', 'C', 'C++', 'JavaScript', 'Swift', 'Go'] # Calling DataFrame constructor on list dframe = pd.DataFrame(lst) print(dframe)
0 Java 1 Python 2 C 3 C++ 4 JavaScript 5 Swift 6 Go
Метод – 3: Dataframe из dict ndarray / lists
Dict ndarray / lists можно использовать для создания фрейма данных, все ndarray должны иметь одинаковую длину. По умолчанию индекс будет диапазоном(n); где n обозначает длину массива.
import pandas as pd # assign data of lists. data = # Create DataFrame df = pd.DataFrame(data) # Print the output. print(df)
Name Age 0 Tom 20 1 Joseph 21 2 Krish 19 3 John 18
Метод – 4: Создание фрейма данных индексов с использованием массивов
Давайте разберемся в примере создания фрейм данных индексов с использованием массивов.
# DataFrame using arrays. import pandas as pd # assign data of lists. data = <'Name':['Renault', 'Duster', 'Maruti', 'Honda City'], 'Ratings':[9.0, 8.0, 5.0, 3.0]># Creates pandas DataFrame. df = pd.DataFrame(data, index =['position1', 'position2', 'position3', 'position4']) # print the data print(df)
Name Ratings position1 Renault 9.0 position2 Duster 8.0 position3 Maruti 5.0 position4 Honda City 3.0
В приведенном выше коде мы определили имя столбца с различными названиями автомобилей и их рейтингами. Мы использовали массив для создания индексов.
Метод – 5: Dataframe из списка dicts
Мы можем передать списки словарей в качестве входных данных для создания фрейма данных Pandas. Имена столбцов по умолчанию используются в качестве ключей.
# the example is to create # Pandas DataFrame by lists of dicts. import pandas as pd # assign values to lists. data = [, ] # Creates DataFrame. df = pd.DataFrame(data) # Print the data print(df)
A B C x y z 0 10.0 20.0 30.0 NaN NaN NaN 1 NaN NaN NaN 100.0 200.0 300.0
Давайте разберемся в другом примере создания фрейма данных pandas из списка словарей с индексом строки и индексом столбца.
import pandas as pd # assigns values to lists. data = [, ] # With two column indices, values same # as dictionary keys dframe1 = pd.DataFrame(data, index =['first', 'second'], columns =['x', 'y']) # With two column indices with # one index with other name dframe2 = pd.DataFrame(data, index =['first', 'second'], columns =['x', 'y1']) # print the first data frame print(dframe1, "\n") # Print the second DataFrame. print(dframe2)
x y first 1.0 2.0 second NaN NaN x y1 first 1.0 NaN second NaN NaN
Рассмотрим пример создания фрейма данных путем передачи списков словарей и строк.
# The example is to create # Pandas DataFrame by passing lists of # Dictionaries and row indices. import pandas as pd # assign values to lists data = [, ] # Creates padas DataFrame by passing # Lists of dictionaries and row index. dframe = pd.DataFrame(data, index =['first', 'second']) # Print the dataframe print(dframe)
x y z first 2 NaN 3 second 10 20.0 30
Мы обсудили три способа создания фрейма данных с использованием списков словаря.
Метод – 6: с помощью функции zip()
Функция zip() используется для объединения двух списков. Давайте разберемся в следующем примере.
# The example is to create # pandas dataframe from lists using zip. import pandas as pd # List1 Name = ['tom', 'krish', 'arun', 'juli'] # List2 Marks = [95, 63, 54, 47] # two lists. # and merge them by using zip(). list_tuples = list(zip(Name, Marks)) # Assign data to tuples. print(list_tuples) # Converting lists of tuples into # pandas Dataframe. dframe = pd.DataFrame(list_tuples, columns=['Name', 'Marks']) # Print data. print(dframe)
[('john', 95),('krish', 63),('arun', 54),('juli', 47)] Name Marks 0 john 95 1 krish 63 2 arun 54 3 juli 47
Метод – 7: из Dicts серии
Словарь можно передать для создания фрейма данных. Мы можем использовать Dicts of series, где последующий индекс представляет собой объединение всех серий переданного значения индекса. Давайте разберем на примере.
# Pandas Dataframe from Dicts of series. import pandas as pd # Initialize data to Dicts of series. d = # creates Dataframe. dframe = pd.DataFrame(d) # print the data. print(dframe)
Electronics Civil John 97 97 Abhinay 56 88 Peter 87 44 Andrew 45 96
В этом руководстве мы обсудили различные способы создания DataFrames.
Изучаем pandas. Урок 2. Структуры данных Series и DataFrame
![]()
Во втором уроке мы познакомимся со структурами данных pandas – это Series и DataFrame. Основное внимание будет уделено вопросам создания и получения доступа к элементам данных структур, а также общим понятиям, которые позволят более интуитивно работать с ними в будущем.
Введение
Библиотека pandas предоставляет две структуры: Series и DataFrame для быстрой и удобной работы с данными (на самом деле их три, есть еще одна структура – Panel , но в данный момент она находится в статусе deprecated и в будущем будет исключена из состава библиотеки pandas ). Series – это маркированная одномерная структура данных, ее можно представить, как таблицу с одной строкой. С Series можно работать как с обычным массивом (обращаться по номеру индекса), и как с ассоциированным массивом, когда можно использовать ключ для доступа к элементам данных. DataFrame – это двумерная маркированная структура. Идейно она очень похожа на обычную таблицу, что выражается в способе ее создания и работе с ее элементами. Panel – про который было сказано, что он вскоре будет исключен из pandas , представляет собой трехмерную структуру данных. О Panel мы больше говорить не будем. В рамках этой части мы остановимся на вопросах создания и получения доступа к элементам данных структур Series и DataFrame .
Структура данных Series
Для того, чтобы начать работать со структурами данных из pandas требуется предварительно импортировать необходимые модули. Убедитесь, что нужные модули установлены на вашем компьютере, о том, как это сделать, можно прочитать в первой части данного курса. Также будем считать, что вы знакомы с языком Python . Если нет, то специально для вас мы подготовили он-лайн курс и книгу.
Помимо самого pandas нам понадобится библиотека numpy . Наши эксперименты будем проводить с использованием пакета Anaconda , в качестве среды разработки советуем взять Spyder , который входит в базовую поставку Anaconda . Для того, чтобы запустить Spyder , перейдите в каталог Scripts , который находится в папке с установленной Anaconda и запустите spyder.exe . Для нас он в первую очередь имеет ценность в том, что в нем есть редактор исходного кода, на случай, если нам понадобится написать довольно большую программу, и интерпретатор для быстрых экспериментов. Если строки кода будут содержать префикс в виде цифры в квадратных скобках, то это означает, что данные команды мы вводим в интерпретаторе, в ином случае, это будет означать, что код написан в редакторе.
Пора переходить к практике!
Импортируем нужные нам библиотеки.
In [1]: import numpy as np In [2]: import pandas as pd
Создать структуру Series можно на базе различных типов данных:
- словари Python ;
- списки Python ;
- массивы из numpy: ndarray ;
- скалярные величины.
Конструктор класса Series выглядит следующим образом:
pandas.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)
data – массив, словарь или скалярное значение, на базе которого будет построен Series;
index – список меток, который будет использоваться для доступа к элементам Series . Длина списка должна быть равна длине data ;
dtype – объект numpy.dtype , определяющий тип данных;
copy – создает копию массива данных, если параметр равен True в ином случае ничего не делает.
В большинстве случаев, при создании Series, используют только первые два параметра. Рассмотрим различные варианты как это можно сделать.
Создание Series из списка Python
Самый простой способ создать Series – это передать в качестве единственного параметра в конструктор класса список Python.
In [3]: s1 = pd.Series([1, 2, 3, 4, 5]) In [4]: print(s1) 0 1 1 2 2 3 3 4 4 5 dtype: int64
В данном примере была создана структура Series на базе списка из языка Python . Для доступа к элементам Series , в данном случае, можно использовать только положительные целые числа – левый столбец чисел, начинающийся с нуля – это как раз и есть индексы элементов структуры, которые представлены в правом столбце.
Можно попробовать использоваться больше возможностей из тех, что предлагает pandas , для этого передадим в качестве второго элемента список строк (в нашем случае – это отдельные символы). Такой шаг позволит нам обращаться к элементам структуры Series не только по численному индексу, но и по метке, что сделает работу с таким объектом, похожей на работу со словарем.
In [5]: s2 = pd.Series([1, 2, 3, 4, 5], ['a', 'b', 'c', 'd', 'e']) In [6]: print(s2) a 1 b 2 c 3 d 4 e 5 dtype: int64
Обратите внимание на левый столбец, в нем содержатся метки, которые мы передали в качестве index параметра при создании структуры. Правый столбец – это по-прежнему элементы нашей структуры.
Создание Series из ndarray массива из numpy
Создадим простой массив из пяти чисел, аналогичный списку из предыдущего раздела. Библиотеки pandas и numpy должны быть предварительно импортированы.
In [3]: ndarr = np.array([1, 2, 3, 4, 5]) In [4]: type(ndarr) Out[4]: numpy.ndarray
Теперь создадим Series с буквенными метками.
In [5]: s3 = pd.Series(ndarr, ['a', 'b', 'c', 'd', 'e']) In [6]: print(s3) a 1 b 2 c 3 d 4 e 5 dtype: int32
Создание Series из словаря (dict)
Еще один способ создать структуру Series – это использовать словарь для одновременного задания меток и значений.
In [7]: d = 'a':1, 'b':2, 'c':3> In [8]: s4 = pd.Series(d) In [9]: print(s4) a 1 b 2 c 3 dtype: int64
Ключи ( keys ) из словаря d станут метками структуры s4 , а значения ( values ) словаря – значениями в структуре.
Создание Series с использованием константы
Рассмотрим еще один способ создания структуры. На этот раз значения в ячейках структуры будут одинаковыми.
In [10]: a = 7 In [11]: s5 = pd.Series(a, ['a', 'b', 'c']) In [12]: print(s5) a 7 b 7 c 7 dtype: int64
В созданной структуре Series имеется три элемента с одинаковым содержанием.
Работа с элементами Series
В будущем будет написан отдельный урок, посвященный индексации и работе с элементами Series и DataFrame , сейчас рассмотрим основные подходы.
К элементам Series можно обращаться по численному индексу, при таком подходе работа со структурой не отличается от работы со списками в Python .
In [13]: s6 = pd.Series([1, 2, 3, 4, 5], ['a', 'b', 'c', 'd', 'e']) In [14]: s6[2] Out[14]: 3
Можно использовать метку, тогда работа с Series будет похожа на работу со словарем (dict) в Python.
In [15]: s6['d'] Out[15]: 4
Доступно получение slice’ов.
In [16]: s6[:2] Out[16]: a 1 b 2 dtype: int64
В поле для индекса можно поместить условное выражение.
In [17]: s6[s6 3] Out[17]: a 1 b 2 c 3 dtype: int64
Со структурами Series можно работать как с векторами: складывать, умножать вектор на число и т.п.
In [18]: s7 = pd.Series([10, 20, 30, 40, 50], ['a', 'b', 'c', 'd', 'e']) In [19]: s6 + s7 Out[19]: a 11 b 22 c 33 d 44 e 55 dtype: int64 In [20]: s6 * 3 Out[20]: a 3 b 6 c 9 d 12 e 15 dtype: int64
Структура данных DataFrame
Если Series представляет собой одномерную структуру, которую для себя можно представить как таблицу с одной строкой, то DataFrame – это уже двумерная структура – полноценная таблица с множеством строк и столбцов.
Перед работой с DataFrame не забудьте импортировать библиотеку pandas .
Конструктор класса DataFrame выглядит так:
class pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)
data – массив ndarray , словарь ( dict ) или другой DataFrame ;
index – список меток для записей (имена строк таблицы);
columns – список меток для полей (имена столбцов таблицы);
dtype – объект numpy.dtype , определяющий тип данных;
copy – создает копию массива данных, если параметр равен True в ином случае ничего не делает.
Структуру DataFrame можно создать на базе:
- словаря ( dict ) в качестве элементов которого должны выступать: одномерные ndarray , списки, другие словари, структуры Series ;
- двумерные ndarray ;
- структуры Series ;
- структурированные ndarray ;
- другие DataFrame .
Рассмотрим на практике различные подходы к созданию DataFrame’ов .
Создание DataFrame из словаря
В данном случае будет использоваться одномерный словарь, элементами которого будут списки, структуры Series и т.д.
Начнем с Series.
In [3]: d = "price":pd.Series([1, 2, 3], index=['v1', 'v2', 'v3']), . : "count": pd.Series([10, 12, 7], index=['v1', 'v2', 'v3'])> In [4]: df1 = pd.DataFrame(d) In [5]: print(df1) count price v1 10 1 v2 12 2 v3 7 3 In [6]: print(df1.index) Index(['v1', 'v2', 'v3'], dtype='object') In [7]: print(df1.columns) Index(['count', 'price'], dtype='object')
Теперь построим аналогичный словарь, но на элементах ndarray .
In [8]: d2 = "price":np.array([1, 2, 3]), . : "count": np.array([10, 12, 7])> In [9]: df2 = pd.DataFrame(d2, index=['v1', 'v2', 'v3']) In [10]: print(df2) count price v1 10 1 v2 12 2 v3 7 3 In [11]: print(df2.index) Index(['v1', 'v2', 'v3'], dtype='object') In [12]: print(df2.columns) Index(['count', 'price'], dtype='object')
Как видно – результат аналогичен предыдущему. Вместо ndarray можно использовать обычный список из Python .
Создание DataFrame из списка словарей
До это мы создавали DataFrame из словаря, элементами которого были структуры Series , списки и массивы, сейчас мы создадим DataFrame из списка, элементами которого являются словари.
In [13]: d3 = ["price": 3, "count":8>, "price": 4, "count": 11>] In [14]: df3 = pd.DataFrame(d3) In [15]: print(df3) count price 0 8 3 1 11 4 In [16]: print(df3.info()) class 'pandas.core.frame.DataFrame'> RangeIndex: 2 entries, 0 to 1 Data columns (total 2 columns): count 2 non-null int64 price 2 non-null int64 dtypes: int64(2) memory usage: 112.0 bytes None
Создание DataFrame из двумерного массива
Создать DataFrame можно также и из двумерного массива, в нашем примере это будет ndarray из библиотеки numpy .
In [17]: nda1 = np.array([[1, 2, 3], [10, 20, 30]]) In [18]: df4 = pd.DataFrame(nda1) In [19]: print(df4) 0 1 2 0 1 2 3 1 10 20 30
Работа с элементами DataFrame
Работа с элементами DataFrame – доступ к элементам данной структуры – тема достаточно обширная и она будет освещена в одном из ближайших уроков. Сейчас мы рассмотрим наиболее часто используемые способы работы с элементами DataFrame .
Основные подходы представлены в таблице ниже.
| Операция | Синтаксис | Возвращаемый результат |
| Выбор столбца | df[col] | Series |
| Выбор строки по метке | df.loc[label] | Series |
| Выбор строки по индексу | df.iloc[loc] | Series |
| Слайс по строкам | df[0:4] | DataFrame |
| Выбор строк, отвечающих условию | df[bool_vec] | DataFrame |
Теперь посмотрим, как использовать данные операций на практике.
Для начала создадим DataFrame .
In [3]: d = "price":np.array([1, 2, 3]), . : "count": np.array([10, 20, 30])> In [4]: df = pd.DataFrame(d, index=['a', 'b', 'c']) In [5]: print(df) count price a 10 1 b 20 2 c 30 3
Операция: выбор столбца.
In [6]: df['count'] Out[6]: a 10 b 20 c 30 Name: count, dtype: int32
Операция: выбор строки по метке.
In [7]: df.loc['a'] Out[7]: count 10 price 1 Name: a, dtype: int32
Операция: выбор строки по индексу.
In [8]: df.iloc[1] Out[8]: count 20 price 2 Name: b, dtype: int32
Операция: slice по строкам.
In [9]: df[0:2] Out[9]: count price a 10 1 b 20 2
Операция: выбор строк, отвечающих условию.
In [10]: df[df['count'] >= 20] Out[10]: count price b 20 2 c 30 3
P.S.
Раздел: Pandas Python Машинное обучение и анализ данных Метки: ML, Pandas, Python, Машинное обучение
Изучаем pandas. Урок 2. Структуры данных Series и DataFrame : 6 комментариев
- Lumen 15.03.2019 Опечатка: случае[т]
В большинстве случает, при создании Series P.S. Спасибо за статью!
- writer 16.03.2019 Спасибо! Поправили))
- writer 21.10.2019 Спасибо! Добавим!
- writer 21.10.2019 Как мне кажется, ‘slice’ стало уже сленговым словом, и его вполне можно употреблять. Но слово ‘срез’ звучит тоже не плохо))) В данном случае выбор был сделан в пользу первого.
Миллион способов создать датафрейм
Всем привет, я Алексей Макаров, и я аналитик. Ещё я веду блог Datalytcs и одноименный канал @datalytx в Телеграме. Там я делюсь всякими штуками, посвященными анализу данных.
Введение
В своих аналитических изысканиях я часто использую библиотеку pandas для Python. Работа с этой библиотекой начинается с того, что вы загружаете свои данные в объект, называемый датафреймом. Данные внутри датафрейма получаются упорядочены в виде таблицы, манипулировать которой можно с помощью различных встроенных методов. Почти всегда я создаю датафрейм в pandas через список словарей (в том числе, когда я загружаю данные из базы или API), либо через загрузку CSV. А ведь существует ещё куча способов, есть же там всякие Series, а ещё одну и ту же структуру данных можно представлять по-разному, в общем, вариантов масса.
Именно этими вариантами я и хочу поделиться с вами.
Импорт библиотеки
Во-первых, импортируем библиотеку pandas. Общепризнанной практикой стало импортировать её с алиасом pd.
import pandas as pd
Итак, теперь рассмотрим несколько разных способов
Чтение из локального CSV-файла
Предположим, у нас есть файл data.csv. Тогда загрузить содержимое этого файла в датафрейм мы можем простой командой:
df = pd.read_csv(‘data.csv’)
Но иногда с использованием этой команды могут возникнуть проблемы. К примеру, по умолчанию read_csv() умеет читать CSV-файлы, в которых разделителем является запятая, но если разделитель будет точка с запятой, то возникнет ошибка. Чтобы это избежать, нужно воспользоваться параметром sep:
df = pd.read_csv(‘data.csv’, sep = ‘;’)
Если ваш CSV-файл содержит кодировку, отличную от UTF-8, то чтобы прочитать его нужен параметр encoding:
df = pd.read_csv(‘data,csv’, encoding = ‘cp1251’)
Рекомендую почитать документацию функции read_csv(), там ещё много интересных параметров.
Чтение CSV-файла по URL
Также с помощью pandas можно прочитать данные csv, которые доступны по URL:
df = pd.read_csv(‘http://samplecsvs.s3.amazonaws.com/SalesJan2009.csv')
Таким образом, вам не придется сначала сохранять файл локально, получая его через HTTP-запрос с помощью urllib или requests.
Создание датафрейма из списка списков
Иногда нам приходится создавать датафрейм не из файлов, а используя какие-то объекты, используемые внутри скрипта. Часто это бывает нужно, когда мы загружаем данные из базы данные, либо когда данные сначала проходят обработку на чистом Python, прежде чем загрузить их в датафрейм.
Одним из самых распространенных способов создать новый датафрейм с данными, является использование списка списков:
list_of_lists = [
['Product1',1200,'Mastercard'],
['Product2',3600,'Visa'],
['Product3',7500,'Amex'],
]
df = pd.DataFrame(list_of_lists)
df
Как видно из изображения выше, если просто передать список списков в датафрейм, то у нас будут отсутствовать наименования колонок. Они будут просто обозначены числами, начиная с 0. Для того, чтобы задать наименования колонок мы можем воспользоваться параметром columns:
df = pd.DataFrame(list_of_lists, columns = ['product','price','payment_type'])
df
Тогда у датафрейма появятся наименования колонок. Это упросит обращение к различным колонкам в рамках работы с данными.
Создание датафрейма из списка словарей
Другой способ создать датафрейм — это взять за основу список словарей. В этом случае заголовками колонок будут ключи словаря:
list_of_dicts = [
,
,
]
df = pd.DataFrame(list_of_dicts)
df
Правда порядок колонок будет отличный, от того, который мы задали. Исправить это можно просто задав новый порядок:
df[['product','price','payment_type']]
Создание датафрейма из вложенных словарей
И ещё один простой способ создать датафрейм — использовать вложенные словари. В этом случае, нам необходимо сразу же задать индексы строк (ключи от 0 до 2 во вложенных словарях):
nested_dict = 'payment_type':
1: 'Visa',
2: 'Amex'>,
'price':
1: 3600,
2: 7500>,
'product':
1: 'Product2',
2: 'Product3'>
>
df = pd.DataFrame(nested_dict)
df
Создание датафрейма из словаря со списками
Также есть способ очень похожий на предыдущий — объявить словарь, в котором ключами будут наименования колонок, а значениями — списки значений в колонках. Тогда код для создания датафрейма будет выглядеть так:
dict_with_lists = ‘payment_type’:
[‘Mastercard’,’Visa’,’Amex’],
‘price’:
[1200, 3600, 7500],
‘product’:
[‘Product1’,’Product2',’Product3']
>
df = pd.DataFrame(nested_dict)
df
Заключение
Итак, как видно, помимо наиболее распространенного способа read_csv() существует множество других способов создать датафрейм. В этой статье рассмотрены способы создания датафреймов из обычных структур данных Python.
Хотите узнать больше про анализ данных с помощью Python — подписывайтесь на канал @datalytx или вступайте в группу на Facebook.
