Автор оригинала: Team Python Pool.
Вступление
В python есть много способов преобразовать массив numpy в фрейм данных pandas. Но иногда нас просят решить проблему с помощью определенных методов. Итак, в этом уроке мы увидим все методы, с помощью которых мы можем преобразовать массив numpy в фрейм данных pandas.
Что такое массив Numpy?
Массивы Numpy – это сетка значений одного типа, индексируемых кортежем неотрицательных целых чисел.
import numpy as np arr = np.array((1, 2, 3, 4, 5)) print(arr)
Выход:
[1 2 3 4 5]
Что такое Фрейм данных Панд?
Фрейм данных Pandas является двумерным, размер которого изменчив и который потенциально представляет собой гетерогенные табличные структуры данных с помеченными строками и столбцами.
import pandas as pd lst = ['Latracal', 'Solution', 'an', 'online', 'portal', 'for', 'languages'] df = pd.DataFrame(lst) print(df)
Выход:
0 0 Latracal 1 Solution 2 an 3 online 4 portal 5 for 6 languages
Синтаксис фрейма данных Pandas
pandas.DataFrame(data=None, index=None, columns=None)
Параметр фрейма данных Pandas
- data : Это вход в виде массива numpy, словаря.
- Index: Этот вход используется для получения результирующего фрейма данных.
- Столбцы: Это метки столбцов для результирующего фрейма данных.
Шаги по преобразованию массива Numpy в фрейм данных Pandas
- Импортируйте модули: pandas и numpy.
- Создайте массив numpy.
- Создайте список значений индекса и столбцов для фрейма данных.
- Затем создайте фрейм данных.
- По крайней мере, отобразить фрейм данных.
Различные примеры преобразования массива Numpy в фрейм данных Pandas
Давайте разберемся в преобразовании массива numpy в фрейм данных pandas с помощью различных методов и способов, подробно объясненных с помощью примеров:
1. Использование массива numpy из метода random.rand для преобразования массива Numpy в фрейм данных Pandas
В этом примере мы возьмем входные данные массива numpy из функции random.rand() в numpy. а затем примените синтаксис фрейма данных, чтобы преобразовать его в фрейм данных pandas.
#import numpy and pandas module import numpy as np import pandas as pd arr = np.random.rand(4, 4) print("Numpy array : ",arr ) # conversion into dataframe df = pd.DataFrame(arr, columns =['A', 'B', 'C', 'D']) print("\nPandas DataFrame: ") print(df)
Выход:
Numpy array : [[0.93845309 0.89059495 0.51480681 0.06583541] [0.94972596 0.55147651 0.40720578 0.86422873] [0.53556404 0.7760867 0.80657461 0.37336038] [0.21177783 0.90187237 0.53926327 0.06067915]] Pandas DataFrame: A B C D 0 0.938453 0.890595 0.514807 0.065835 1 0.949726 0.551477 0.407206 0.864229 2 0.535564 0.776087 0.806575 0.373360 3 0.211778 0.901872 0.539263 0.060679
Объяснение:
Здесь, во-первых, мы импортировали два модуля, то есть numpy и pandas. Во – вторых, мы взяли входной массив из метода random.rand() из модуля numpy и напечатали входной массив. В-третьих, мы применили синтаксис для преобразования его в фрейм данных, в котором мы установили значения столбцов от A до D. Если мы не задаем строки и столбцы, то они задаются по умолчанию, начиная с индекса 0. Наконец, мы напечатали фрейм данных. Таким образом, вы можете увидеть выходной и преобразованный массив в кадр данных.
2. Использование массива numpy с random.rand и reshape()
В этом примере мы будем принимать входные данные в функции random.rand().reshape (). Во-вторых, мы применим синтаксис фрейма данных со значениями индекса и столбцами и напечатаем преобразованный фрейм данных из модуля numpy.
#import module: numpy and pandas import numpy as np import pandas as pd arr = np.random.rand(6).reshape(2, 3) print("Numpy array : " ,arr) # converting into dataframe df = pd.DataFrame(arr, columns =['1', '2', '3']) print("\nPandas DataFrame: ") print(df)
Выход:
Numpy array : [[0.05949315 0.66499294 0.39795918] [0.93026286 0.42710097 0.70753262]] Pandas DataFrame: 1 2 3 0 0.059493 0.664993 0.397959 1 0.930263 0.427101 0.707533
Объяснение:
Здесь, во-первых, мы импортировали два модуля, то есть numpy и pandas. Во-вторых, мы взяли входной массив из метода random.rand().reshape() из модуля numpy и напечатали входной массив. В-третьих, мы применили синтаксис для преобразования его в фрейм данных, в котором мы установили значения столбцов от 1 до 4. Если мы не задаем строки и столбцы, то они задаются по умолчанию, начиная с индекса 0. Наконец, мы напечатали фрейм данных. Таким образом, вы можете увидеть выходной и преобразованный массив в кадр данных.
3. использование массива numpy для преобразования массива Numpy в фрейм данных Pandas
В этом примере мы будем принимать входные данные из np.array (), а затем преобразовывать массив numpy в pandas dataframe с помощью синтаксиса dataframe.
#import module numpy and pandas import numpy as np import pandas as pd arr = np.array([[1, 2], [3, 4]]) print("Numpy array : ",arr) # converting into dataframe df = pd.DataFrame(data = arr, index =["row1", "row2"], columns =["col1", "col2"]) print("\nPandas DataFrame: ") print(df)
Выход:
Numpy array : [[1 2] [3 4]] Pandas DataFrame: col1 col2 row1 1 2 row2 3 4
Объяснение;
Здесь, во-первых, мы импортировали два модуля, то есть numpy и pandas. Во-вторых, мы взяли метод input array np.array() из модуля numpy и напечатали входной массив. В-третьих, мы применили синтаксис для преобразования его в фрейм данных, в котором мы установили значения строк из row1, row2 и столбцов из col1, col2. Если мы не задаем строки и столбцы, то они задаются по умолчанию, начиная с индекса 0. Наконец, мы напечатали фрейм данных. Таким образом, вы можете увидеть выходной и преобразованный массив в кадр данных.
4. Создание пустого фрейма данных
В этом примере мы покажем, как создать пустой фрейм данных и затем распечатать его.
#import pandas module and numpy module import pandas as pd import numpy as np df = pd.DataFrame(np.nan, index=[0,1,2], columns=['A']) print(df)
Выход:
A 0 NaN 1 NaN 2 NaN
Объяснение:
Здесь, во-первых, мы импортировали два модуля, то есть numpy и pandas. Во-вторых, мы применили синтаксис фрейма данных, не беря входной массив из модуля numpy. В синтаксисе у нас есть np.nan, что означает, что все значения массива имеют значение NaN, то есть 0. В функции строки задаются с помощью 0, 1, 2, а столбцы-с помощью A. Если мы не задаем строки и столбцы, то они задаются по умолчанию, начиная с индекса 0. Наконец, мы напечатали фрейм данных. Таким образом, вы можете увидеть выходной и преобразованный массив в кадр данных.
5. Генерация строк и столбцов с помощью итерации
В этом примере мы будем генерировать столбцы индекса и заголовки столбцов с помощью итерации.
#import module: numpy and pandas import pandas as pd import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) df = pd.DataFrame(data = arr[0:, 0:], index = ['Row_' + str(i + 1) for i in range(arr.shape[0])], columns = ['Column_' + str(i + 1) for i in range(arr.shape[1])]) print(df)
Выход:
Column_1 Column_2 Column_3 Row_1 1 2 3 Row_2 4 5 6
Объяснение:
Здесь, во-первых, мы импортировали два модуля, то есть numpy и pandas. Во-вторых, мы взяли метод input array np.array() из модуля numpy и напечатали входной массив. В-третьих, мы применили синтаксис для преобразования его в фрейм данных, в котором мы задали значения строк и столбцов с помощью итерации через цикл for. Если мы не задаем строки и столбцы, то они задаются по умолчанию, начиная с индекса 0. Наконец, мы напечатали фрейм данных. Таким образом, вы можете увидеть выходной и преобразованный массив в кадр данных.
6. Генерация Строк И Столбцов перед преобразованием в фрейм данных
В этом примере мы будем принимать входные данные из массива numpy. Затем мы установим столбцы индекса и заголовки столбцов отдельно, а затем поместим значения строк и столбцов в синтаксис фрейма данных.
#import module: numpy and pandas import pandas as pd import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) index = ['Row_' + str(i) for i in range(1, len(arr) + 1)] columns = ['Column_' + str(i) for i in range(1, len(arr[0]) + 1)] df = pd.DataFrame(arr , index = index, columns = columns) print(df)
Выход:
Column_1 Column_2 Column_3 Row_1 1 2 3 Row_2 4 5 6
Объяснение:
Здесь, во-первых, мы импортировали два модуля, то есть numpy и pandas. Во-вторых, мы взяли метод input array np.array() из модуля numpy и напечатали входной массив. В-третьих, мы установили значение для строк и столбцов в имени переменной как Индекс и столбцы с помощью итерации через цикл for. В-четвертых, мы применили синтаксис для преобразования его в фрейм данных, в котором мы установили значения строк и столбцов со значениями, определенными перед функцией фрейма данных. Если мы не задаем строки и столбцы, то они задаются по умолчанию, начиная с индекса 0. Наконец, мы напечатали фрейм данных. Таким образом, вы можете увидеть выходной и преобразованный массив в кадр данных.
Вывод
В этом уроке мы обсудили, как создать фрейм данных pandas из массива numpy. Мы также обсудили, как мы можем создать и написать программу для преобразования массива numpy в фрейм данных pandas. Все примеры подробно объясняются для лучшего понимания. Вы можете использовать любую из программ в соответствии с вашими требованиями.