Memorandum @ Python ODER Seminar: Pandas

pandas

>>> import pandas as pd

pandas sagt "[Einführung in die Datenanalyse mit Python](http://www.amazon.co.jp/Python%E3%81%AB%E3%82%88%E3%82%8B%E3%83%87%E3" % 83% BC% E3% 82% BF% E5% 88% 86% E6% 9E% 90% E5% 85% A5% E9% 96% 80-% E2% 80% 95NumPy% E3% 80% 81pandas% E3% 82% 92% E4% BD% BF% E3% 81% A3% E3% 81% 9F% E3% 83% 87% E3% 83% BC% E3% 82% BF% E5% 87% A6% E7% 90% 86-Wes-McKinney / dp / 4873116554) ”. Wenn Sie im Detail studieren möchten, studieren Sie bitte hier. Pythonによるデータ分析入門

Datentyp

Es gibt zwei Arten von Daten in Pandas: ** Serie ** und ** DataFrame **.

Series Ein Typ, der eine Spalte (Zeile) von Daten verarbeitet.

#Gewöhnlicher Listentyp
>>> lst = [1, 2, 3, 4, 5]
# Series
>>> s = pd.Series(lst)
>>> s
0    1
1    2
2    3
3    4
4    5
dtype: float64

DataFrame Ein Typ, der Tabellendaten verarbeitet.

#Gewöhnlicher Wörterbuchtyp
>>> dic = {"a": [1, 2, 3], "b": [9, 8, 7]}
# DataFrame
>>> df = pd.DataFrame(dic)
	a	b
0	1	9
1	2	8
2	3	7

I/O

Das Lesen von Dateien wird bereitgestellt.

>>> pd.read*? # *Teilübereinstimmung im Anhang
pd.read_clipboard
pd.read_csv
pd.read_excel
pd.read_fwf
pd.read_gbq
pd.read_hdf
pd.read_html
pd.read_json
pd.read_msgpack
pd.read_pickle
pd.read_sql
pd.read_sql_query
pd.read_sql_table
pd.read_stata
pd.read_table

Beispiel zum Lesen einer CSV-Datei

>>> dataset = pd.read('sample.csv')

Beispiel für das Schreiben einer CSV-Datei

>>> dataset.to_csv('write.csv')

Daten lesen

Wenn Sie einige Datenzeilen sehen möchten

>>> dataset.head() #Wenn Sie eine Ganzzahl in das Argument einfügen
>>> dataset.tail() #Liest eine ganzzahlige Zeile

>>> dataset.ix[n] #Siehe Zeile n
>>> dataset.ix[m:n] # m~(n-1)Siehe Zeile
>>> dataset.ix[[0, 3, 5]] #Sehen Sie eine entfernte Linie

Wenn Sie mehrere Datenspalten anzeigen möchten

>>> dataset.Spaltenname
#Oder
>>> dataset['Spaltenname']
#Wenn Sie mehrere Spalten sehen möchten
>>> dataset[['Spaltenname 1', 'Spaltenname 2', ...,]]

Suche

>>> dataset[dataset.UID == 'Spaltenname']

Umgang mit fehlenden Werten NA

Überprüfen Sie, ob Werte fehlen

Es scheint "len ()" und "count ()" zu kombinieren

--len () ruft die Größe der Daten ab. --count () ruft die Anzahl der anderen Elemente als NA in Spaltenrichtung ab. (Wenn das Argument "Achse = 1" ist, wird es in Zeilenrichtung sein)

>>> len(dataset) - dataset.count()
UID             0
dtime           0
Sousyouhi       0
Hatsudenryou    0
Jikasyouhi      0
Uriden          0
Kaiden          0
Use_AirCon      0
Use_Kyutou      3
Use_Kaden       0
dtype: int64

Wenn Sie genauer hinschauen möchten, sollten Sie "isnull ()" und "any ()" kombinieren. isnull (): Setzen Sie das Element NA auf True und die anderen auf False. any (): Gibt True zurück, wenn in Spaltenrichtung mindestens ein True vorhanden ist, wenn nicht, False. (Wenn das Argument "Achse = 1" ist, wird es in Zeilenrichtung sein)

>>> dataset[dataset.isnull().any(axis=1)]

Umgang mit fehlenden Werten NA

Hauptsächlich zwei. dropna (): Löscht die Zeile mit NA. (Spaltenrichtung mit "Achse = 1" im Argument) fillna ('etwas'): Ersetzen Sie NA durch etwas.

>>> dataset.dropna()

>>> dataset.fillna(0) #Ersetzen Sie NA durch 0

#Füllen Sie NA mit der vorherigen Wertfront?
>>> dataset.fillna(method='ffill')
#Füllen Sie NA mit dem Rückwert zurück?
>>> dataset.fillna(method='bfill')

Zusammengefasste Statistiken

Wenn Sie "beschreiben ()" verwenden, werden die meisten davon berechnet. count, mean, std, min, 25%, 50%, 75%, max

>>> dataset.describe()

Gruppierung

Nach Element gruppieren.

>>> dataset.groupby('Spaltenname')

Graph

Es scheint, dass Pandas allein einige Grafiken zeichnen können.

Zeitreihendiagramm

Setze dtime auf index

>>> tdataset = dataset.copy()
>>> tdataset.index = tdatasset.dtime.apply(pd.to_datetime)
>>> tdataset.drop('dtime', axis=1, inplace=True)
>>> b = tdataset[tdataset.UID == 'id1'] \
...                      [['UID', 'Soushohi']]
>>> b.plot()

Resampling

Wenn es wie oben (alle 2 Stunden) belassen wird, ist das Diagramm zu fein. Jeder andere Tag.

>>> c = b.resample('1d') # 1m:Jeder andere Monat
>>> c.plot()
>>> b.resample('1d', 'std').plot() #Standardabweichung
>>> b.drop('UID', axis=1).resample('1d', 'max').plot() #Maximalwert

gleitender Durchschnitt

>>> pd.rolling_mean(c, 12).plot() #12 Wochen

Histogramm

>>> c.hist()

Box Whisker

>>> c.boxplot(return_type='axes')

Korrelationskoeffizient

>>> c.corr()

Collerogramm

>>> import statsmodels.api as sm
>>> plot(sm.tsa.acf(b.Spaltenname))

Streudiagramm

>>> pd.tools.plotting.scatter_matrix(c)

Multiple Regression

>>> c = c.fillna(0)
>>> m = sm.OLS(c.Soushoshouhi, \
...          c[['Hatsudenryou', 'Use_AirCon']])
>>> r = m.fit()
>>> r.summary2()

Online-Dokumentation

Der Rest ist hier.

Recommended Posts

Memorandum @ Python ODER Seminar: Pandas
Memorandum @ Python ODER Seminar
Memorandum @ Python ODER Seminar: matplotlib
Memorandum @ Python ODER Seminar: Pulp
Memorandum @ Python ODER Seminar: Scikit-Learn
Python-Memorandum
Python Memorandum
Memorandum of Pandas
Python-Memorandum
Pandas Memorandum
Python Memorandum
Python-Memorandum
Python-Grundmemorandum
Meine Pandas (Python)
Python Pathlib Memorandum
Python-Memorandum (Algorithmus)
Pandas Operations Memorandum
Python-Memorandum [Links]
Python Pandas Memo
[Zur Aufnahme] Pandas Memorandum
Python> Liste> verlängern () oder + =
Python Memorandum (sequentielle Aktualisierung)
Python aus oder importieren
Python Autotest oder Sniffer
Python-Memorandum (persönliches Lesezeichen)
Pandas auf python2.6 installieren
Python Basic Memorandum Teil 2
Python Memorandum Super Basic
Python-Anwendung: Pandas # 3: Dataframe
Python Basic - Pandas, Numpy -
Lesen Sie CSV mit Python-Pandas
Python-Anwendung: Pandas Teil 1: Basic
Cisco Memorandum _ Eingabekonfiguration mit Python
Python-Anwendung: Pandas Teil 2: Serie
[Python] Liste in Pandas konvertieren [Pandas]
Python 3.4 oder höher Standard Pip
Python-Pandas entfernen den Header-Bereich
ABC-Memorandum [ABC163 C --managementr] (Python)
Python-Anfänger-Memorandum-Funktion
Memorandum (Pseudo-Vlookup von Pandas)
[Python] Memorandum zur Vermeidung von SQLAlchemy-Fehlern
[Python] Ändere den Typ mit Pandas
Memorandum über Korrelation [Python]
Python Pandas Studie aktuelle Zusammenfassung
Python-Bitoperator und logische Summe
Ein Memorandum über den Python-Mock
100 Pandas klopfen für Python-Anfänger
[Python] Memorandum über zufällige Generationen
Rubys `` wie in Python. 2.6 oder höher
Datenanalyse mit Python-Pandas
Python oder und und Operatorfalle