Часто вам может понадобиться преобразовать список в 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