Чтобы преобразовать DataFrame в массив NumPy без индекса в Python, вы можете использовать несколько методов: .values для прямого доступа к базовому массиву, to_numpy() для гибкого подхода с контролем типов, iloc[] для выборочного преобразования столбцов, сглаживания DataFrame с .ravel() для одномерного массива или понимания списка.

Содержание

Функция .values

Метод .values в Python напрямую обращается к базовому массиву NumPy DataFrame. Это быстрый и простой способ получить представление массива, но он не позволяет контролировать преобразования типов данных.

Вот код для использования .values для преобразования кадра данных в массив NumPy без индекса в Python:

import pandas as pd

df_cities = pd.DataFrame({
    'City': ['New York', 'Los Angeles', 'Chicago'],
    'Population': [8419000, 3971000, 2705000]
})
array_cities = df_cities['Population'].values
print("Converted NumPy Array:\n", array_cities)
print("Type of the converted array:", type(array_cities))

Выход:

Converted NumPy Array:
 [8419000 3971000 2705000]
Type of the converted array:

Ниже приведен скриншот после реализации кода в редакторе Pycharm.

Функция .values

Функция to_numpy()

Функция to_numpy() позволяет нам указывать типы данных и контролировать обработку значений NA, что делает ее идеальной для более сложных структур данных.

Вот как мы можем использовать функцию to_numpy() для преобразования кадра данных в массив NumPy без индекса в Python:

import pandas as pd

df_gdp = pd.DataFrame({
    'State': ['California', 'Texas', 'New York'],
    'GDP': [3.1, 1.9, 1.7]
})
array_gdp = df_gdp['GDP'].to_numpy()
print("Converted NumPy Array:\n", array_gdp)
print("Type of the converted array:", type(array_gdp))

Выход:

Converted NumPy Array:
 [3.1 1.9 1.7]
Type of the converted array:

После выполнения кода в Pycharm результат можно увидеть на снимке экрана ниже.

Функция to_numpy()

Метод iloc[]

Метод iloc[] полезен для выбора определенных строк и столбцов перед преобразованием в массив NumPy в Python.

Вот код для преобразования кадра данных в массив NumPy без индекса в Python с использованием функции iloc[]:

import pandas as pd

df_universities = pd.DataFrame({
    'University': ['MIT', 'Stanford', 'Harvard'],
    'Ranking': [1, 2, 3],
    'Founded': [1861, 1885, 1636]
})
array_universities = df_universities.iloc[:, 0:].values
print("Converted NumPy Array:\n", array_universities)
print("Type of the converted array:", type(array_universities))

Выход:

Converted NumPy Array:
 [['MIT' 1 1861]
 ['Stanford' 2 1885]
 ['Harvard' 3 1636]]
Type of the converted array:

Ниже приведен снимок экрана, показывающий результат реализации кода в редакторе Pycharm.

Метод iloc[]

Функция ravel()

Когда нам нужно преобразовать DataFrame в одномерный массив, этот метод объединяет .values с .ravel(), чтобы сгладить DataFrame, в результате чего получается одномерный массив NumPy.

import pandas as pd

df_capitals = pd.DataFrame({
    'State': ['California', 'Texas', 'Florida'],
    'Capital': ['Sacramento', 'Austin', 'Tallahassee'],
    'Population': [513625, 964254, 195528]
})
array_capitals = df_capitals.values.ravel()
print("Converted NumPy Array:\n", array_capitals)
print("Type of the converted array:", type(array_capitals))

Выход:

Converted NumPy Array:
 ['California' 'Sacramento' 513625 'Texas' 'Austin' 964254 'Florida'
 'Tallahassee' 195528]
Type of the converted array:

После реализации кода в редакторе Pycharm был предоставлен снимок экрана ниже.

Функция ravel()

С использованием понимания списка

Чтобы преобразовать фрейм данных в массив NumPy без индекса в Python, мы можем перебрать строки DataFrame с пониманием списка и создать из него список, а затем преобразовать его с помощью функции np.array().

import pandas as pd
import numpy as np

df_landmarks = pd.DataFrame({
    'Landmark': ['Statue of Liberty', 'Golden Gate Bridge', 'Grand Canyon'],
    'Location': ['New York', 'California', 'Arizona']
})
array_landmarks = np.array([row for row in df_landmarks.values])
print("Converted NumPy Array:\n", array_landmarks)
print("Type of the converted array:", type(array_landmarks))

Выход:

Converted NumPy Array:
 [['Statue of Liberty' 'New York']
 ['Golden Gate Bridge' 'California']
 ['Grand Canyon' 'Arizona']]
Type of the converted array:

Ниже приведен снимок экрана, демонстрирующий выходные данные, снятые после выполнения кода в редакторе Pycharm.

С использованием понимания списка

Добавить комментарий