Heim > Backend-Entwicklung > Python-Tutorial > Pandas-Spickzettel

Pandas-Spickzettel

Patricia Arquette
Freigeben: 2024-10-04 06:13:02
Original
388 Leute haben es durchsucht

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


Nach dem Login kopieren

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])


Nach dem Login kopieren

Erwartete Ausgabe:


0    1
1    2
2    3
3    4
dtype: int64


Nach dem Login kopieren

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)


Nach dem Login kopieren

Erwartete Ausgabe:


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


Nach dem Login kopieren

3. Erstellen von DataFrames und Serien

Aus einem Wörterbuch


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


Nach dem Login kopieren

Aus einer Liste von Listen


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


Nach dem Login kopieren

Erwartete Ausgabe:


   A  B  C
0  1  2  3
1  4  5  6


Nach dem Login kopieren

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())


Nach dem Login kopieren

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


Nach dem Login kopieren

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"])


Nach dem Login kopieren

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


Nach dem Login kopieren

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"]]


Nach dem Login kopieren

Erwartete Ausgabe:


   A  C
0  1  3
1  4  6


Nach dem Login kopieren

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


Nach dem Login kopieren

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


Nach dem Login kopieren

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


Nach dem Login kopieren

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


Nach dem Login kopieren

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()


Nach dem Login kopieren

Aggregationsfunktionen

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


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


Nach dem Login kopieren

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])


Nach dem Login kopieren

Rangliste

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


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


Nach dem Login kopieren

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')


Nach dem Login kopieren

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)


Nach dem Login kopieren

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!

Quelle:dev.to
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage