Как добавить массив Numpy в фрейм данных Pandas


Иногда вам может понадобиться добавить массив NumPy в качестве нового столбца в кадр данных pandas.

К счастью, вы можете легко сделать это, используя следующий синтаксис:

df['new_column'] = array_name. tolist ()

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

Пример 1: добавить массив NumPy в качестве нового столбца в DataFrame

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

import numpy as np
import pandas as pd

#create pandas DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#create NumPy array for 'blocks'
blocks = np.array([2, 3, 1, 0, 2, 7, 8, 2])

#add 'blocks' array as new column in DataFrame
df['blocks'] = blocks. tolist ()

#display the DataFrame
print(df)

 points assists rebounds blocks
0 25 5 11 2
1 12 7 8 3
2 15 7 10 1
3 14 9 6 0
4 19 12 6 2
5 23 9 5 7
6 25 9 9 8
7 29 4 12 2

Обратите внимание, что новый DataFrame теперь имеет дополнительный столбец с названием block .

Пример 2: добавление матрицы NumPy в качестве новых столбцов в DataFrame

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

import numpy as np
import pandas as pd

#create pandas DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23

#create NumPy matrix
mat = np.matrix([[2, 3],
 [1, 0],
 [2, 7],
 [8, 2],
 [3, 4],
 [7, 7],
 [7, 5],
 [6, 3]])

#add NumPy matrix as new columns in DataFrame
df_new = pd.concat([df, pd.DataFrame(mat)], axis= 1 )

#display new DataFrame
print(df_new)

 points assists rebounds 0 1
0 25 5 11 2 3
1 12 7 8 1 0
2 15 7 10 2 7
3 14 9 6 8 2
4 19 12 6 3 4
5 23 9 5 7 7
6 25 9 9 7 5
7 29 4 12 6 3

Обратите внимание, что имена столбцов для матрицы, которые мы добавили в DataFrame, имеют имена столбцов по умолчанию 0 и 1 .

Мы можем легко переименовать эти столбцы с помощью функции df.columns :

#rename columns
df_new. columns = ['pts', 'ast', 'rebs', 'new1', 'new2']

#display DataFrame
print(df_new)

 pts ast rebs new1 new2
0 25 5 11 2 3
1 12 7 8 1 0
2 15 7 10 2 7
3 14 9 6 8 2
4 19 12 6 3 4
5 23 9 5 7 7
6 25 9 9 7 5
7 29 4 12 6 3

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

Как сложить несколько фреймов данных Pandas
Как объединить два кадра данных Pandas в индексе
Как преобразовать Pandas DataFrame в массив NumPy
Как переименовать столбцы в Pandas

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.