NumPy Array in Pandas DataFrame umwandeln
Dieses Tutorial erklärt, wie wir ein NumPy-Array mit der Methode pandas.DataFrame()
in einen Pandas DataFrame umwandeln.
Wir übergeben das NumPy-Array an die Methode pandas.DataFrame()
, um Pandas DataFrames aus NumPy-Arrays zu erzeugen. Wir können auch Spaltennamen und Zeilenindizes für den DataFrame angeben.
Konvertieren eines NumPy-Arrays in einen Pandas DataFrame mit der Methode pandas.DataFrame()
Wir übergeben das NumPy-Array an die Methode pandas.DataFrame()
, um den DataFrame aus dem NumPy-Array zu erzeugen.
from numpy import random
import pandas as pd
random.seed(5)
random.randint(100, size=(3, 5))
data_array = random.randint(100, size=(4, 3))
print("NumPy Data Array is:")
print(data_array)
print("")
data_df = pd.DataFrame(data_array)
print("The DataFrame generated from the NumPy array is:")
print(data_df)
Ausgabe:
NumPy Data Array is:
[[27 44 77]
[75 65 47]
[30 84 86]
[18 9 41]]
The DataFrame generated from the NumPy array is:
0 1 2
0 27 44 77
1 75 65 47
2 30 84 86
3 18 9 41
Es wird zunächst ein zufälliges Array der Größe (4,3)
mit 4 Zeilen und 3 Spalten erzeugt. Dann übergeben wir das Array als Argument an die Methode pandas.DataFrame()
, die aus dem Array einen DataFrame namens data_df
erzeugt. Standardmäßig fügt die Methode pandas.DataFrame()
Standard-Spaltennamen und Zeilenindizes ein.
Wir können die Spaltennamen und Zeilenindizes auch mit den Parametern index
und columns
der Methode pandas.DataFrame()
festlegen.
from numpy import random
import pandas as pd
random.seed(5)
random.randint(100, size=(3, 5))
data_array = random.randint(100, size=(4, 3))
row_indices = ["Row_1", "Row_2", "Row_3", "Row_4"]
column_names = ["Column_1", "Column_2", "Column_3"]
print("NumPy Data Array is:")
print(data_array)
print("")
data_df = pd.DataFrame(data_array, index=row_indices, columns=column_names)
print("The DataFrame generated from the NumPy array is:")
print(data_df)
Ausgabe:
NumPy Data Array is:
[[27 44 77]
[75 65 47]
[30 84 86]
[18 9 41]]
The DataFrame generated from the NumPy array is:
Column_1 Column_2 Column_3
Row_1 27 44 77
Row_2 75 65 47
Row_3 30 84 86
Row_4 18 9 41
Hier setzen wir den Wert von index
auf row_indices
, eine Liste mit den Indizes der einzelnen Zeilen. In ähnlicher Weise weisen wir Spaltennamen zu, indem wir den Wert von columns
auf die Liste column_names
setzen, die den Namen jeder Spalte enthält.
In einigen Fällen kann das NumPy-Array selbst Zeilenindizes und Spaltennamen enthalten. Dann verwenden wir Array-Slicing, um die Daten, Zeilenindizes und Spaltennamen aus dem Array zu extrahieren.
import numpy as np
import pandas as pd
marks_array = np.array(
[["", "Mathematics", "Economics"], ["Sunny", 25, 23], ["Alice", 23, 24]]
)
print("NumPy Data Array is:")
print(marks_array)
print("")
row_indices = marks_array[1:, 0]
column_names = marks_array[0, 1:]
data_df = pd.DataFrame(
data=np.int_(marks_array[1:, 1:]), index=row_indices, columns=column_names
)
print("The DataFrame generated from the NumPy array is:")
print(data_df)
Ausgabe:
NumPy Data Array is:
[['' 'Mathematics' 'Economics']
['Sunny' '25' '23']
['Alice' '23' '24']]
The DataFrame generated from the NumPy array is:
Mathematics Economics
Sunny 25 23
Alice 23 24
Wir haben Zeilenindizes und Spaltennamen im NumPy-Array selbst. Wir wählen alle Werte nach der ersten Zeile und der ersten Spalte aus und übergeben sie als data
-Argument an die Funktion pandas.DataFrame()
, und wählen alle Werte der ersten Spalte aus der zweiten Zeile aus und übergeben sie als index
-Argument. In ähnlicher Weise wählen wir alle Werte der ersten Zeile aus der zweiten Spalte aus und übergeben sie als Argument columns
, um die Spaltennamen zu setzen.
Das numpy.array()
konvertiert die Integer-Werte in String-Werte, während es ein NumPy-Array erstellt, um das gleiche Datenformat des Arrays zu gewährleisten. Wir verwenden die Funktion numpy.int_()
, um die Datenwerte wieder in den Typ Integer
zu konvertieren.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInVerwandter Artikel - Pandas DataFrame
- Wie man Pandas DataFrame-Spaltenüberschriften als Liste erhält
- Pandas DataFrame-Spalte löschen
- Wie man DataFrame-Spalte in Datetime in Pandas konvertiert
- Wie konvertiert man eine Fließkommazahl in eine Ganzzahl in Pandas DataFrame
- Wie man Pandas-DataFrame nach den Werten einer Spalte sortiert
- Wie erhält man das Aggregat der Pandas gruppenweise und sum