Как преобразовать список в DataFrame в Python


Часто вам может понадобиться преобразовать список в DataFrame в Python.

К счастью, это легко сделать с помощью функции pandas.DataFrame , которая использует следующий синтаксис:

pandas.DataFrame(данные = Нет, индекс = Нет, столбцы = Нет, …)

куда:

  • data: данные для преобразования в DataFrame
  • index: Индекс для использования в результирующем DataFrame
  • столбцы: метки столбцов для использования в результирующем DataFrame.

В этом руководстве представлено несколько примеров использования этой функции на практике.

Пример 1: преобразование одного списка в фрейм данных

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

import pandas as pd

#create list that contains points scored by 10 basketball players
data = [4, 14, 17, 22, 26, 29, 33, 35, 35, 38]

#convert list to DataFrame
df = pd.DataFrame(data, columns=['points'])

#view resulting DataFrame
print(df)

 points
0 4
1 14
2 17
3 22
4 26
5 29
6 33
7 35

Пример 2. Преобразование нескольких списков в DataFrame

В следующем коде показано, как преобразовать несколько списков в DataFrame pandas:

import pandas as pd

#define lists
points = [4, 14, 17, 22, 26, 29, 33, 35, 35, 38]
rebounds = [1, 4, 4, 5, 8, 7, 5, 6, 9, 11]

#convert lists into a single list
data = []
data.append(points)
data.append(rebounds)

#view new list
data

[[4, 14, 17, 22, 26, 29, 33, 35, 35, 38], [1, 4, 4, 5, 8, 7, 5, 6, 9, 11]]

#convert list into DataFrame
df = pd.DataFrame(data). transpose ()
df.columns =['points', 'rebounds']

#view resulting DataFrame
df

 points rebounds
0 4 1
1 14 4
2 17 4
3 22 5
4 26 8
5 29 7
6 33 5
7 35 6
8 35 9
9 38 11

Пример 3: преобразование списка списков в фрейм данных

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

import pandas as pd

#define list of lists
data = [[4, 1], [14, 4], [17, 4], [22, 5], [26, 8],
 [29, 7], [33, 5], [35, 6], [35, 9], [38,11]]

#convert list into DataFrame
df = pd.DataFrame(data, columns=['points', 'rebounds'])

#view resulting DataFrame
df

 points rebounds
0 4 1
1 14 4
2 17 4
3 22 5
4 26 8
5 29 7
6 33 5
7 35 6
8 35 9
9 38 11

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

#display number of rows and columns in DataFrame
df.shape

(10, 2)

Мы видим, что полученный DataFrame имеет 10 строк и 2 столбца.

И мы можем использовать следующий код для получения имен столбцов в результирующем DataFrame:

#display column names of DataFrame
list(df)

['points', 'rebounds']

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Как преобразовать DataFrame в список в Pandas
Как преобразовать словарь в DataFrame в Pandas
Как преобразовать строки в числа с плавающей запятой в Pandas