Heim  >  Artikel  >  Backend-Entwicklung  >  Pandas-Spickzettel

Pandas-Spickzettel

Patricia Arquette
Patricia ArquetteOriginal
2024-10-04 06:13:02358Durchsuche

Pandas Cheat Sheet

Umfassender Leitfaden zu Pandas: Der ultimative Spickzettel

Pandas ist eine Open-Source-Bibliothek zur Datenbearbeitung und -analyse, die auf Python basiert. Es bietet benutzerfreundliche Datenstrukturen wie DataFrame und Series, die die Datenverarbeitung für alle Arten von Datenanalyseaufgaben erleichtern. Es wird häufig für den Umgang mit strukturierten Daten, die Datenbereinigung und -aufbereitung verwendet, was ein entscheidender Schritt in datenwissenschaftlichen Arbeitsabläufen ist. Ganz gleich, ob es sich um Zeitreihendaten, heterogene Daten oder Daten im CSV-, Excel-, SQL-Datenbank- oder JSON-Format handelt, Pandas bietet leistungsstarke Tools, die die Arbeit mit diesen Daten erheblich erleichtern.


1. Pandas importieren

Bevor Sie Pandas-Funktionen verwenden, müssen Sie die Bibliothek importieren. Es wird üblicherweise als pd importiert, um die Syntax prägnant zu halten.


import pandas as pd



2. Pandas-Datenstrukturen

Serie

Eine Serie ist ein eindimensional beschriftetes Array, das jeden Datentyp (Ganzzahl, Zeichenfolge, Gleitkomma usw.) enthalten kann. Es kann aus einer Liste, einem NumPy-Array oder einem Wörterbuch erstellt werden.


# Create a Pandas Series from a list
s = pd.Series([1, 2, 3, 4])


Erwartete Ausgabe:


0    1
1    2
2    3
3    4
dtype: int64


DataFrame

Ein DataFrame ist eine zweidimensional beschriftete Datenstruktur, ähnlich einer Tabelle in einer Datenbank oder einer Excel-Tabelle. Es besteht aus Zeilen und Spalten. Jede Spalte kann einen anderen Datentyp haben.


# Create a DataFrame from a dictionary
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [24, 27, 22], 'City': ['New York', 'London', 'Berlin']}
df = pd.DataFrame(data)


Erwartete Ausgabe:


      Name  Age      City
0    Alice   24  New York
1      Bob   27    London
2  Charlie   22    Berlin



3. Erstellen von DataFrames und Serien

Aus einem Wörterbuch


data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)


Aus einer Liste von Listen


data = [[1, 2, 3], [4, 5, 6]]
df = pd.DataFrame(data, columns=["A", "B", "C"])


Erwartete Ausgabe:


   A  B  C
0  1  2  3
1  4  5  6



4. Untersuchen von DataFrames

Pandas bietet verschiedene Methoden zum Überprüfen und Abrufen von Informationen über Ihre Daten.

  • df.head(n) – Gibt die ersten n Zeilen zurück.
  • df.tail(n) – Gibt die letzten n Zeilen zurück.
  • df.info() – Bietet zusammenfassende Informationen über den DataFrame.
  • df.describe() – Erzeugt beschreibende Statistiken des DataFrame.

# Inspecting the DataFrame
print(df.head())
print(df.tail())
print(df.info())
print(df.describe())


Erwartete Ausgabe:


   A  B  C
0  1  2  3
1  4  5  6

   A  B  C
0  1  2  3
1  4  5  6

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2 entries, 0 to 1
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   A       2 non-null      int64
 1   B       2 non-null      int64
 2   C       2 non-null      int64
dtypes: int64(3)
memory usage: 128.0 bytes

       A    B    C
count  2.0  2.0  2.0
mean   2.5  3.5  4.5
std    2.1  2.1  2.1
min    1.0  2.0  3.0
25%    1.5  2.5  3.5
50%    2.0  3.0  4.0
75%    2.5  3.5  4.5
max    4.0  5.0  6.0



5. Indizieren, Slicing und Subsetting von Daten

Zugriff auf Spalten

Sie können auf Spalten entweder in Punktnotation oder durch Indizierung mit eckigen Klammern zugreifen.


# Dot notation
print(df.A)

# Bracket notation
print(df["B"])


Zugriff auf Zeilen nach Index

Sie können .iloc[] für die Indizierung auf Ganzzahlbasis und .loc[] für die Indizierung auf Labelbasis verwenden.


# Using iloc (index-based)
print(df.iloc[0])  # Access first row

# Using loc (label-based)
print(df.loc[0])  # Access first row using label


Slicing-Daten

Sie können DataFrames segmentieren, um Teilmengen von Daten zu erhalten. Sie können Zeilen oder Spalten segmentieren.


# Select specific rows and columns
subset = df.loc[0:1, ["A", "C"]]


Erwartete Ausgabe:


   A  C
0  1  3
1  4  6



6. Datenrahmen ändern

Spalten hinzufügen

Sie können Spalten direkt zum DataFrame hinzufügen, indem Sie Werte zuweisen.


df['D'] = [7, 8]  # Adding a new column


Spaltenwerte ändern

Sie können die Werte einer Spalte ändern, indem Sie darauf zugreifen und neue Werte zuweisen.


df['A'] = df['A'] * 2  # Modify the 'A' column


Spalten oder Zeilen löschen

Sie können Zeilen oder Spalten mit der Funktion drop() löschen.


df = df.drop(columns=['D'])  # Dropping a column
df = df.drop(index=1)  # Dropping a row by index



7. Umgang mit fehlenden Daten

Der Umgang mit fehlenden Daten ist eine wichtige Aufgabe. Pandas bietet mehrere Funktionen zum Umgang mit fehlenden Daten.

  • df.isnull() – Erkennt fehlende Werte (gibt einen DataFrame mit booleschen Werten zurück).
  • df.notnull() – Erkennt nicht fehlende Werte (gibt einen DataFrame mit booleschen Werten zurück).
  • df.fillna(value) – Füllt fehlende Werte mit einem angegebenen Wert.
  • df.dropna() – Entfernt Zeilen mit fehlenden Werten.

df = df.fillna(0)  # Fill missing data with 0
df = df.dropna()  # Drop rows with any missing values



8. Datenaggregation und -gruppierung

GroupBy

Die Funktion „groupby()“ wird zum Aufteilen der Daten in Gruppen, zum Anwenden einer Funktion und zum anschließenden Kombinieren der Ergebnisse verwendet.


# Grouping by a column and calculating the sum
grouped = df.groupby('City').sum()


Aggregationsfunktionen

Sie können verschiedene Aggregationsfunktionen wie sum(), mean(), min(), max() usw. anwenden.


# Aggregating data using mean
df.groupby('City').mean()



9. Sortieren und Ranking

Daten sortieren

Mit der Funktion sort_values() können Sie einen DataFrame nach einer oder mehreren Spalten sortieren.


# Sorting by a column in ascending order
df_sorted = df.sort_values(by='Age')

# Sorting by multiple columns
df_sorted = df.sort_values(by=['Age', 'Name'], ascending=[True, False])


Rangliste

Sie können die Werte in einem DataFrame mit rank() einordnen.


df['Rank'] = df['Age'].rank()



10. Datenrahmen zusammenführen, verbinden und verketten

DataFrames zusammenführen

Sie können zwei DataFrames basierend auf einer gemeinsamen Spalte oder einem gemeinsamen Index zusammenführen.


df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'], 'B': ['B0', 'B1', 'B2']})
df2 = pd.DataFrame({'A': ['A0', 'A1', 'A2'], 'C': ['C0', 'C1', 'C2']})
merged_df = pd.merge(df1, df2, on='A')


Concatenating DataFrames

You can concatenate DataFrames along rows or columns using concat().


df1 = pd.DataFrame([[1, 2], [3, 4]], columns=['A', 'B'])
df2 = pd.DataFrame([[5, 6], [7, 8]], columns=['A', 'B'])
concat_df = pd.concat([df1, df2], axis=0)



Conclusion

Pandas is a versatile tool for data manipulation, from importing and cleaning data to performing complex operations. This cheat sheet provides a quick overview of some of the most common Pandas features, helping you make your data analysis workflow more efficient.

Das obige ist der detaillierte Inhalt vonPandas-Spickzettel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn