Преобразование Pandas DataFrame в массив NumPy (с примерами)


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

df.to_numpy ()

В следующих примерах показано, как использовать этот синтаксис на практике.

Пример 1: преобразование DataFrame с одинаковыми типами данных

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

import pandas as pd

#create data frame
df1 = pd.DataFrame({'rebounds': [7, 7, 8, 13, 7, 4],
 'points': [5, 7, 7, 9, 12, 9],
 'assists': [11, 8, 10, 6, 6, 5]})

#view data frame
print(df1)

 rebounds points assists
0 7 5 11
1 7 7 8
2 8 7 10
3 13 9 6
4 7 12 6
5 4 9 5

#convert DataFrame to NumPy array
new = df1.to_numpy ()

#view NumPy array
print(new)

[[ 7 5 11]
 [ 7 7 8]
 [ 8 7 10]
 [13 9 6]
 [ 7 12 6]
 [ 4 9 5]]

#confirm that *new* is a NumPy array
print(type(new))

<class 'numpy.ndarray'> 

#view data type
print(new. dtype )

int64

Массив Numpy имеет тип данных int64, поскольку каждый столбец в исходном кадре данных pandas был целым числом.

Пример 2: преобразование DataFrame со смешанными типами данных

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

import pandas as pd

#create data frame
df2 = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E', 'F'],
 'points': [5, 7, 7, 9, 12, 9],
 'assists': [11, 8, 10, 6, 6, 5]})

#view data frame
print(df2)

 player points assists
0 A 5 11
1 B 7 8
2 C 7 10
3 D 9 6
4 E 12 6
5 F 9 5

#convert DataFrame to NumPy array
new = df2. to_numpy ()

#view NumPy array
print(new)

[['A' 5 11]
 ['B' 7 8]
 ['C' 7 10]
 ['D' 9 6]
 ['E' 12 6]
 ['F' 9 5]]

#confirm that *new* is a NumPy array
print(type(new))

<class 'numpy.ndarray'> 

#view data type
print(new. dtype )

object

Массив Numpy имеет тип данных объекта , поскольку не каждый столбец в исходном фрейме данных pandas имеет один и тот же тип данных.

Пример 3: преобразование DataFrame и установка значений NA

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

import pandas as pd

#create data frame
df3 = pd.DataFrame({'player': ['A', 'B', pd.NA , 'D', 'E', 'F'],
 'points': [5, 7, pd.NA , 9, pd.NA , 9],
 'assists': [11, 8, 10, 6, 6, 5]})

#view data frame
print(df3)

 player points assists
0 A 5 11
1 B 7 8
2 <NA> <NA> 10
3 D 9 6
4 E <NA> 6
5 F 9 5

#convert DataFrame to NumPy array
new = df3. to_numpy (na_value='none')

#view NumPy array
print(new)

[['A' 5 11]
 ['B' 7 8]
 ['none' 'none' 10]
 ['D' 9 6]
 ['E' 'none' 6]
 ['F' 9 5]]

#confirm that *new* is a NumPy array
print(type(new))

<class 'numpy.ndarray'> 

#view data type
print(new. dtype )

object

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

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

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