Python-Studiennotizen Tag 54 (Pandas DataFrame)

Pandas-Datenstruktur – DataFrame

DataFrame ist eine tabellarische Datenstruktur, die eine Reihe geordneter Spalten enthält. Jede Spalte kann einen anderen Werttyp haben (numerisch, Zeichenfolge, boolesch). DataFrame verfügt sowohl über Zeilen- als auch über Spaltenindizes und kann als Wörterbuch bestehend aus Serien (gemeinsam mit einem Index) betrachtet werden.

Die DataFrame-Konstruktionsmethode ist wie folgt:

pandas.DataFrame( data, index, columns, dtype, copy)

Parameterbeschreibung:

  • Daten: eine Reihe von Daten (Typen Ndarray, Serie, Karte, Liste, Diktat usw.).
  • index: Indexwert oder Zeilenbezeichnung.
  • Spalten: Spaltenbezeichnung, Standard ist RangeIndex (0, 1, 2, …, n).
  • dtype: Datentyp.
  • kopieren: Daten kopieren, der Standardwert ist False.
  • Pandas DataFrame ist eine zweidimensionale Array-Struktur, ähnlich einem zweidimensionalen Array.

Mit Liste erstellen

# 实例 1 
import pandas as pd
data = [['Google',10],['Facebook',12],['Wiki',13]]
df = pd.DataFrame(data,columns=['Site','Age'],dtype=float)
print(df)

In diesem Beispiel verwenden wir Listendaten mit drei Listen, wobei jede innere Liste zwei Elemente enthält. Anschließend verwenden wir die Funktion pd.DataFrame(), um diese Liste in ein DataFrame-Objekt umzuwandeln, indem wir die Spaltennamen „Site“ und „Age“ sowie den Datentyp als Gleitkomma angeben. Zum Schluss drucken wir das DataFrame-Objekt.

Das folgende Beispiel wird mit ndarrays erstellt. Die Längen von ndarrays müssen gleich sein. Wenn ein Index übergeben wird, sollte die Länge des Index gleich der Länge des Arrays sein. Wenn kein Index übergeben wird, ist der Index standardmäßig range(n), wobei n die Array-Länge ist.

ndarrays können sich beziehen auf: NumPy Ndarray-Objekt

Erstellt mit ndarrays

# 实例 2
import pandas as pd
data = {
    
    'Site':['Google', 'Facebook', 'Wiki'], 'Age':[10, 12, 13]}
df = pd.DataFrame(data)
print (df)

In diesem Beispiel verwenden wir ein Wörterbuchdaten, bei dem die Schlüssel Spaltennamen und die Werte die entsprechenden Ndarrays sind. Anschließend konvertieren wir dieses Wörterbuch mithilfe der Funktion pd.DataFrame() in ein DataFrame-Objekt. Da wir keinen Index angegeben haben, ist der Index standardmäßig range(n), wobei n die Länge des Arrays ist. Zum Schluss drucken wir das DataFrame-Objekt. Anhand der Ausgabeergebnisse können wir erkennen, dass der DataFrame-Datentyp eine Tabelle ist, einschließlich Zeilen und Spalten.

Sie können auch ein Wörterbuch (Schlüssel/Wert) verwenden, wobei der Schlüssel des Wörterbuchs der Spaltenname ist:

Mit Wörterbuch erstellen

# 实例 3 
import pandas as pd
data = [{
    
    'a': 1, 'b': 2},{
    
    'a': 5, 'b': 10, 'c': 20}]
df = pd.DataFrame(data)
print (df)

Wenn keine entsprechenden Teildaten vorhanden sind, handelt es sich um NaN.

In diesem Beispiel verwenden wir Listendaten, die zwei Wörterbücher enthalten. Anschließend konvertieren wir diese Liste mithilfe der Funktion pd.DataFrame() in ein DataFrame-Objekt. Da wir keinen Index angegeben haben, ist der Index standardmäßig range(n), wobei n die Anzahl der Wörterbücher ist. Da wir nur eine Datenzeile bereitgestellt haben, ist das DataFrame-Objekt leer. Zum Schluss drucken wir das DataFrame-Objekt.

Die loc-Methode von Pandas wird verwendet, um Zeilen eines DataFrame auszuwählen. Ohne Festlegung eines Index beginnt der Index standardmäßig bei 0, sodass der Index der ersten Zeile 0, der Index der zweiten Zeile 1 usw. ist.

# 实例 4
import pandas as pd
data = {
    
    
  "calories": [420, 380, 390],
  "duration": [50, 40, 45]
}
# 数据载入到 DataFrame 对象
df = pd.DataFrame(data)
# 返回第一行
print(df.loc[0])
# 返回第二行
print(df.loc[1])

Hinweis: Bei dem zurückgegebenen Ergebnis handelt es sich tatsächlich um Daten der Pandas-Serie.

In den zurückgegebenen Ergebnissen können Sie sehen, dass jede Datenzeile in einer Reihe gekapselt ist und der Spaltenname als Index der Reihe dient. Der dtype-Teil des Ausgabeergebnisses gibt den Datentyp der Spalte an.

Beachten Sie außerdem, dass Zeilen nach Index und nicht nur nach Reihenfolge ausgewählt werden können, wenn der DataFrame über einen Indexsatz verfügt. Wenn Sie beispielsweise einen DataFrame haben, dessen Indizes ['a', 'b', 'c'] sind, können Sie die Zeile mit dem Index 'a' über df.loc['a'] auswählen.

Gibt mehrere Zeilen zurück

Die loc-Methode von Pandas kann tatsächlich verwendet werden, um mehrere Zeilen auszuwählen. Sie können mehrere Zeilen auswählen, indem Sie die Indizes der Zeilen, die Sie auswählen möchten, durch Kommas trennen (verwenden Sie das Format [[ ... ]], wobei ... der durch Kommas getrennte Index jeder Zeile ist). Im Beispiel wählt df.loc[[0, 1]] die beiden Zeilen mit Index 0 und 1 aus.

# 实例 5
import pandas as pd
data = {
    
    
  "calories": [420, 380, 390],
  "duration": [50, 40, 45]
}
# 数据载入到 DataFrame 对象
df = pd.DataFrame(data)
# 返回第一行和第二行
print(df.loc[[0, 1]])

Das zurückgegebene Ergebnis sind tatsächlich Pandas DataFrame-Daten.

In diesem Beispiel können Sie sehen, dass die ausgewählten Daten gemäß dem Originalformat angeordnet wurden, d. h. „Zeile“ ist die Originalzeile und „Spalte“ die Originalspalte.

Dann können wir den Indexwert angeben

# 实例 6
import pandas as pd
data = {
    
    
  "calories": [420, 380, 390],
  "duration": [50, 40, 45]
}
df = pd.DataFrame(data, index = ["day1", "day2", "day3"])
print(df)

Die loc-Methode von Pandas kann verwendet werden, um Zeilen basierend auf dem Index auszuwählen.

# 实例 6
import pandas as pd
data = {
    
    
  "calories": [420, 380, 390],
  "duration": [50, 40, 45]
}
df = pd.DataFrame(data, index = ["day1", "day2", "day3"])
# 指定索引
print(df.loc["day2"])

In diesem Beispiel wählt df.loc["day2"] die Zeile mit dem Index "day2" aus. Sie können sehen, dass die ausgewählten Daten gemäß dem Originalformat angeordnet wurden, d. h. „Zeile“ ist die Originalzeile und „Spalte“ die Originalspalte. Da Sie diesmal jedoch anhand des Index und nicht anhand der Zeilennummer ausgewählt haben, lautet die Zeilenbezeichnung im Ergebnis „Tag2“.

Nachwort

Was ich heute gelernt habe, ist Python Pandas DataFrame. Eine Zusammenfassung der heutigen Lerninhalte:

  1. Pandas-Datenstruktur – DataFrame
  2. Mit Liste erstellen
  3. Erstellt mit ndarrays
  4. Mit Wörterbuch erstellen
  5. Gibt mehrere Zeilen zurück

Ich denke du magst

Origin blog.csdn.net/qq_54129105/article/details/132260674
Empfohlen
Rangfolge