[Python] Pandas in 10 Minuten vollständig zu verstehen

Pandas in 10 Minuten

Einführung

Dieser Artikel ist eine Kopie und Erklärung des offiziellen Pandas-Tutorials "10 Minuten für Pandas".

Ich verweise auf die folgende URL https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html

Umgebung

Vorerst importieren

import numpy as np
import pandas as pd
np
pd

OK, wenn jedes Modul wie folgt angezeigt wird スクリーンショット 2020-01-25 11.51.03.png

Wenn ein Fehler auftritt

** ModuleNotFoundError: Kein Modul mit dem Namen 'Pandas' ** Wenn Sie wütend werden, setzen Sie Pandas an die erste Stelle.


---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-59ab05e21164> in <module>
      1 import numpy as np
----> 2 import pandas as pd

ModuleNotFoundError: No module named 'pandas'

Befehl python -m pip install pandas


1. Objekt erstellen

Sie können Daten einfach erstellen, indem Sie eine Liste in die Klasse Series einfügen. ..


#Einfach auszurichten
s = pd.Series(data=[1, 3, 5, np.nan, 6, 8])
s
スクリーンショット 2020-01-25 12.05.34.png

Mit date_range () können Sie eine Zeile mit einem Datum für einen bestimmten Zeitraum erstellen.


#Daten für 6 Tage ab dem 1. Januar 2020
dates = pd.date_range("20200101", periods=6)
dates
スクリーンショット 2020-01-25 12.14.36.png

[DataFrame] von Pandas (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html#pandas-dataframe) Durch Angabe des Argumentindex der Klasse ** ** der Zeile Sie können den Index angeben.

#Geben Sie die Daten vom 1. Januar 2020 für den Zeilenindex an
#Geben Sie für jeden Wert eine Zufallszahl ein
df = pd.DataFrame(np.random.randn(6, 4), index=dates)
df
スクリーンショット 2020-01-25 12.20.49.png

Auch von der DataFrame-Klasse Sie können die Spaltennamen festlegen, indem Sie die ** Argumentspalten ** angeben.

#Stellen Sie den Spaltennamen ABCD ein
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list("ABCD"))
df
スクリーンショット 2020-01-25 13.54.51.png

Durch Übergeben von Wörterbuchtypdaten an die DataFrame-Klasse wird der Schlüsselteil des Wörterbuchtyps zum Spaltennamen.

df2 = pd.DataFrame(
    {
        "A": 1.,
        "B": pd.Timestamp("20200101"),
        "C": pd.Series(1, index=list(range(4)), dtype="float32"),
        "D": np.array([3] * 4, dtype="int32"),
        "E": pd.Categorical(["test", "train", "test", "train"]),
        "F": "foo",
    }
)
df2
スクリーンショット 2020-01-25 14.08.34.png

Sie können die Datenattribute jeder Spalte unter Bezugnahme auf das Attribut ** dtypes ** anzeigen.

df2.dtypes
スクリーンショット 2020-01-25 14.10.58.png

Wenn Sie Jupyter Nootbook, Jupyter Lab usw. verwenden, werden die Spaltennamen in Tab-Vervollständigung angezeigt.

db2.<TAB>
スクリーンショット 2020-01-25 14.13.28.png

2. Daten anzeigen

Daten mithilfe der [head () -Methode] der DataFrame-Klasse (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.head.html#pandas.DataFrame.head) Sie können den Anfang anzeigen.

df.head(2)
スクリーンショット 2020-01-25 14.21.33.png

In ähnlicher Weise können Sie mit tail () der DataFrame-Klasse Sie können den Schwanz anzeigen.

df.tail(2)
スクリーンショット 2020-01-25 14.35.10.png

Unter Bezugnahme auf ** index ** der DataFrame-Klasse Sie können den Zeilenindex dieser Daten anzeigen.

df.index
df2.index
スクリーンショット 2020-01-25 14.36.33.png

Daten mithilfe der DataFrame-Klasse to_numpy () Kann in Daten konvertiert werden, die mit numpy einfach zu bedienen sind.

df.to_numpy()
df2.to_numpy()
スクリーンショット 2020-01-25 15.25.48.png

Verwenden Sie die DataFrame-Klasse Referenz: DataFrame.describe (). Sie können eine schnelle Statistik für jede Datenspalte erhalten.

df2.describe()
スクリーンショット 2020-01-25 15.44.36.png

Wenn Sie auf das [T-Attribut] der DataFrame-Klasse verweisen (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.T.html#pandas-dataframe-t), werden die Daten durch die Matrix ausgetauscht Sie können darauf zugreifen.

df.T
スクリーンショット 2020-01-25 15.48.59.png

In der DataFrame-Klasse transpose () wird dieselbe Matrix ersetzt. Kann erhalten werden.

df.transpose()
スクリーンショット 2020-01-25 16.00.49.png

Mithilfe der DataFrame-Klasse sort_index () , Sie können die gesamte Zeile oder Spalte sortieren.

df.sort_index()
スクリーンショット 2020-01-25 16.10.23.png

** Setzen Sie die Argumentachse ** auf 0 oder "Index" zum Sortieren nach Zeilen, setzen Sie 1 oder "Spalten" zum Sortieren nach Achse (Standardwert 0). Wenn im ** Argument aufsteigend ** False angegeben ist, erfolgt die Reihenfolge in absteigender Reihenfolge (Standardwert True).


df.sort_index(axis=0, ascending=False)
df.sort_index(axis=1, ascending=False)
スクリーンショット 2020-01-25 16.12.40.png

Mit der DataFrame-Klasse sort_values () (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sort_values.html#pandas-dataframe-sort-values) Sie können nach Zeilen oder Spalten sortieren.

df.sort_values(by="B")
df.sort_values(by="2020-01-01", axis=1)
スクリーンショット 2020-01-25 16.45.17.png

(Hinzugefügt am 2020-03-07)

3. Daten auswählen

Einfache Datenerfassung

Sie können die angegebene Zeile erhalten, indem Sie ** df ["A"] ** oder ** df.A ** einstellen.

df["A"]
df.A

image.png

Wenn in der Liste ** [] ** angegeben, können Sie Spalten und Zeilen mit Python-Slice-Operationen auswählen.

#Die ersten 4 Spalten werden angezeigt
df[0:3]

image.png

Sie können auch den Reindex-Bereich erhalten.


#Wird vom 2. Januar 2020 bis 4. Januar 2020 angezeigt
df['20200102':'20200104'] 

image.png

Daten durch Angabe eines Labels auswählen

Index (in diesem Fall Daten) zu loc () der DataFrame-Klasse Sie können eine Zeile als Spalte auswählen, indem Sie angeben).


df.loc[dates]
df.loc[dates[0]]

image.png

Wählen Sie mit [loc ()] mehrere Spalten aus (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html#pandas-dataframe-loc). tun können.


df.loc[:, ["A", "B"]]

image.png

Es scheint, dass ein Fehler auftritt, wenn kein führender Doppelpunkt vorhanden ist.

image.png

loc () Mehrere Zeilen und Vielfache durch Kombinieren von Slice-Operationen Sie können Spalten auswählen.

df.loc['20200102':'20200104', ['A', 'B']]

image.png

Einzelne Daten durch Angabe eines Index in loc () Kann bekommen

df.loc[dates[0], 'A']

image.png

Mit at () können Sie einzelne Daten schneller abrufen.

df.at[dates[0], 'A']

image.png

Daten nach Position auswählen

Wählen Sie Daten aus, indem Sie einen numerischen Wert angeben, indem Sie iloc () der DataFrame-Klasse verwenden. Sie können.

df.iloc[3]
df.iloc[3:5, 0:2]
df.iloc[[1, 2, 4], [0, 2]]

image.png

Slice (:), wobei die Start- und Endposition im Argument von iloc () der DataFrame-Klasse weggelassen wurde. Sie können eine bestimmte alle Zeilen oder alle Spalten erhalten, indem Sie (nur) angeben

df.iloc[1:3, :]
df.iloc[:, 1:3]

image.png

Einzelne Daten durch Angabe nur eines numerischen Werts als Argument in iloc () der DataFrame-Klasse Du kannst wählen

df.iloc[1, 1]

image.png

Wie at (), [iat ()](https: //pandas.pydata) .org / pandas-docs / stabile / referenz / api / pandas.DataFrame.iat.html) Mit können Sie einzelne Daten schneller abrufen

df.at[dates[0], 'A']

image.png

Datenauswahl durch Bedingungsbeurteilung

(Ich bin hier erschöpft. Der Rest ... ist nicht da? 10 Minuten sind: Nachdenken :)

4. Fehlende Daten 5. Operationen 6. Zusammenführen 7. Gruppierung 8. Neu erstellen 9. Zeitreihen 10. Kategorisieren 11. Plot 12. Dateneingabe und -ausgabe 13. Fallstricke

Recommended Posts

[Python] Pandas in 10 Minuten vollständig zu verstehen
Hinzufügen von Serien zur Spalte in Python-Pandas
Lerne Pandas in 10 Minuten
Verstehe in 10 Minuten Selen
Selbst Anfänger möchten sagen "Ich verstehe Python voll und ganz"
So löschen Sie stdout in Python
Versuchen Sie, Python selbst zu verstehen
Melden Sie sich auf der Website in Python an
Super Primer für Python-Erste Schritte mit Python3.5 in 3 Minuten
Sprechen mit Python [Text zu Sprache]
Ich habe versucht zusammenzufassen, wie man Pandas von Python benutzt
Wie man in Python entwickelt
Ich verstehe Python auf Japanisch!
Post an Slack in Python
Data Science-Begleiter in Python, wie man Elemente in Pandas spezifiziert
[Python] Wie man PCA mit Python macht
Konvertieren Sie Markdown in Python in PDF
[Python] Verwendung der Pandas-Serie
So sammeln Sie Bilder in Python
Verwendung von SQLite in Python
Im Python-Befehl zeigt Python auf Python3.8
Versuchen Sie, Trace in Python zu berechnen
[Einführung in Python] Verwenden wir Pandas
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
6 Möglichkeiten zum Stringen von Objekten in Python
Verwendung von PubChem mit Python
[Einführung in Python] Verwenden wir Pandas
[Einführung in Python] Verwenden wir Pandas
Umgang mit Japanisch mit Python
Eine Alternative zu "Pause" in Python
Ich habe versucht, PLSA in Python zu implementieren
[Python] Zusammenfassung der Verwendung von Pandas
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Versuchen Sie, sich mit Python bei qiita anzumelden
[Python] Extrahiere △△ mit maximalem ○○ mit Pandas
Installieren Sie Pyaudio, um Wellen in Python zu spielen
Ich habe versucht, Permutation in Python zu implementieren
Methode zum Erstellen einer Python-Umgebung in Xcode 6
Dynamisches Definieren von Variablen in Python
So machen Sie R chartr () in Python
Pin aktuelles Verzeichnis an Skriptverzeichnis in Python
[Itertools.permutations] So löschen Sie eine Sequenz in Python
PUT gzip direkt in S3 in Python
Senden Sie mit Python (Python3) E-Mails an mehrere Empfänger.
Konvertieren Sie die psd-Datei in Python in png
Beispielskript zum Überfüllen von Signalen in Python
Dekorateur zur Vermeidung von UnicodeEncodeError in Python 3 print ()
So arbeiten Sie mit BigQuery in Python
Melden Sie sich mit Anforderungen in Python bei Slack an
Wie bekomme ich Stacktrace in Python?
So zeigen Sie die neunundneunzig Tabelle in Python an
Einfache Möglichkeit, Wikipedia mit Python zu verwenden
So extrahieren Sie einen Polygonbereich in Python
So überprüfen Sie die Version von opencv mit Python
Ich habe versucht, ADALINE in Python zu implementieren
Werfen Sie Incoming Webhook in Python auf Mattermost
Modul zum Generieren des Wortes N-Gramm in Python
Verweisen auf Umgebungsvariablen in Python in Blender