[PYTHON] Pandas Selbststudium Memo

install


#install
pip install pandas

Serie ist eine eindimensionale Datenstruktur.

Series


#Erstellt mit zufällig
arr = np.random.randn(6)
s1 = pd.Series(arr)

#Erstellt mit Arange
arr2 = np.arange(6)
s2 = pd.Series(arr2)

#Erstellt mit denen
arr3 = np.ones(6)
s3 = pd.Series(arr3)

#Erstellt mit Nullen
arr4 = np.zeros(6)
s4 = pd.Series(arr4)

#Indexspezifikation
arr = np.random.randn(6)
s5 = pd.Series(arr, index=["Januar", "Februar", "März", "April", "Kann", "Juni"])
#* Es ist in Ordnung, Indizes zu duplizieren

#Erstellt mit einem Wörterbuch
dict_data = {"Januar": 11, "Februar": 13, "März": 10, "April": 14, "Kann": 8, "Juni": 10}
s6 = pd.Series(dict_data)

###############################################
#Daten mit Index abrufen
s6[0]

#Daten mit Schlüssel abrufen
s3["Januar"]

DataFrame ist eine zweidimensionale Datenstruktur.

DataFrame


import pandas as pd
import numpy as np

#Erstellt mit Numpy
arr = np.random.randn(20).reshape((4, 5))
df = pd.DataFrame(arr)

#Zeilen- und Spaltenindexspezifikation
index = ["Q1", "Q2", "Q3", "Q4"]
columns = ["A", "B", "C", "D", "E"]
df = pd.DataFrame(arr, index=index, columns=columns)

###################################################
#Wie benutzt man
#Holen Sie sich Reihe
df.index
#Spalte abrufen
df.columns
#Datenerfassung
df.values
#beschreibe
df.describe()
#count Anzahl der Daten
#unique Anzahl der eindeutigen (eindeutigen) Werte
#top Am häufigsten erscheinender Wert (häufigster Wert)
#Anzahl der Vorkommen von Freq am häufigsten Wert
#Mittelwert
#Standardabweichung
#min Mindestwert
#25%      1/4 Minuten
#50%Median
#75%      3/4 Minuten
#Maximaler Maximalwert

#sort
#Indexsortierung
df.sort_index(axis=0, ascending=False)
#※axis:Zeile 0,1 Spalte aufsteigend: wahre aufsteigende Reihenfolge,falsche absteigende Reihenfolge

#Absteigend in Reihe A.
df.sort_values(axis=0, by="A", ascending=False)

#Aufsteigende Reihenfolge in der Q3-Zeile
df.sort_values(axis=1, by="Q3", ascending=True)

##############################################
#Datenerfassung
#Zeilendaten abrufen
df.loc["Q3"]
df.loc["Q1":"Q3"]
df.iloc[0]
df.iloc[0:3]

#Spaltendatenerfassung
df.loc[:,"B"]
df.loc["Q2","A":"C"]
df.iloc[:, 0]
df.iloc[0:2, 0:3]

#Matrixdatenerfassung
df.ix["Q0":"Q2", 1:3]

############################################
#Überprüfen Sie leere Daten
df.isnull()

#Leere Datenmatrix löschen
df.dropna(axis=0, how="any")
#※axis:0 Zeilen 1 Spalten wie:"any"Löschen, falls vorhanden,"all"Löschen Sie alle nan

#Setzen Sie leere Daten auf 1
df.fillna(value=1)

#############################################
#Datenverbindung
#Concat-Methode
pd.concat([df1, df2, df3,...],
           axis=0 or 1,
           ignore_index=True,
           join="outer" or "inner",  
           join_axes=[data1.index])
#          df1 :DataFrame
#Achse: Verbindungsrichtung
#      ignore_index: Index sortieren(default:False)
#Join: äußere Naokazu innere Summe gesetzt
#          join_Achsen: Referenzdaten verbinden
index1 = pd.date_range("2018-10-01", periods=4)
df1 = pd.DataFrame(np.arange(20).reshape((4, 5)), index=index1, columns=list("ABCDE"))
index2 = pd.date_range("2018-10-03", periods=3)
df2 = pd.DataFrame(np.arange(12).reshape((3, 4)), index=index2, columns=list("DEFG"))

# axis=0 Vertikal kombinieren
result = pd.concat([df1, df2], axis=0, sort=True)
# axis=1 Horizontal anschließen
result2 = pd.concat([df1, df2], axis=1)
# axis=0, join_axes=[df1.columns]
result6 = pd.concat([df1, df2], axis=0, join_axes=[df1.columns], sort=False)
# axis=1, join_axes=[df1.index]
result7 = pd.concat([df1, df2], axis=1, join_axes=[df1.index], sort=False)

#df1.append()Methode
df1.append([df2, df2, df3,...],
           axis=0 or 1,
           ignore_index=True)
result8 = df1.append(df2, ignore_index=True, sort=False)

#pd.merge()Methode
pd.merge(left, right,
         on=["key1", "key2"],
         how="inner" or "outer" or "left" or"right"
         indicator="Erläuterung")

left = pd.DataFrame({
    "key": ["A0", "A1", "A2", "A3"],
    "B": ["B0", "B1", "B2", "B3"],
    "C": ["C0", "C1", "C2", "C3"],
})

right = pd.DataFrame({
    "key": ["A0", "A1", "A2", "A3"],
    "D": ["B1", "B2", "B2", "B4"],
    "E": ["C2", "C1", "C5", "C2"]
})

# "key"Kombinieren mit
result9 = pd.merge(left, right, on="key")
result10 = pd.merge(left, right, on=["key", "B"])

result11 = pd.merge(left, right, on=["key", "B"])
result12 = pd.merge(left, right, on=["key", "B"], how="left")
result11 = pd.merge(left, right, on=["key", "B"], how="right")
#how =links: Kombiniere alle verbleibenden mit Halten

################################################
#Datenausgabe
left = pd.DataFrame({
    "key": ["A0", "A1", "A2", "A3"],
    "B": ["B0", "B1", "B2", "B3"],
    "C": ["C0", "C1", "C2", "C3"],
})
# csv
left.to_csv("left_data.csv")
# json
left.to_json("left.json")
#Andere
#to_json,to_excel,to_csv,to_clipboard,
#to_dense,to_dict,to_feather,to_gbq,
#to_hdf,to_html,to_latex,to_msgpack,
#to_panel,to_parquet,to_pickle,to_records
#to_sparse,to_sql,to_stata

#########################################
#Graph
import matplotlib.pyplot as plt
s = pd.Series(np.random.randn(1000))
result = s.cumsum()
result.plot()
plt.show()


Recommended Posts

Pandas Selbststudium Memo
Pandas Notizen
Python Pandas Memo
Zusammenfassung der persönlichen Notizen von Pandas
Pandas
Persönliche Notizen zur Vorverarbeitung von Python Pandas-Daten
Pandas Memo
JetBrains_learning notes_003
SQLAlchemy note
pyenv Notizen
Pandas Grundlagen
SQL-Notizen
Sphinx-Memo
Django Memo
Jupyter_Lernen Notizen_000
Memorandum of Pandas
Pandas Grundlagen
Pandas Memorandum
Pandas Memo
pandas SettingWithCopyWarning
Django Memo