[PYTHON] Grundlegende Bedienung von Pandas

Über Pandas

Da Pandas eine auf numpy basierende Datenoperation ist, ist dies praktisch, da die Operation von numpy so verwendet werden kann, wie sie ist. Es ist jedoch schwierig zu verstehen, wie Zeilen und Spalten extrahiert werden, bis Sie sich daran gewöhnt haben. Ich bin immer noch nicht damit vertraut, also werde ich es aufschreiben.

DataFrame und Serie

Es gibt zwei Arten von Datenformaten in Pandas: DataFrame und Series. Ersteres sind zweidimensionale Daten und letzteres sind eindimensionale Daten. Grundsätzlich wird Series nur selten verwendet, daher konzentrieren wir uns auf DataFrame. Wenn eine Spalte angegeben und aus DataFrame abgerufen wird, wird sie zum Serientyp.

# DataFrame
   foo  bar
a    0    1
b    2    3
c    4    5

# Series
a    0
b    2
c    4

DataFrame-Operationen

Index und Spalte

In DataFrame können Elementnummern wie numpy wie die n-te Zeile und die m-te Spalte sowie benutzerdefinierte Elementspezifikationen nach Index und Spalte als Elementpositionsinformationen angegeben werden. Sofern nicht anders angegeben, wird eine Nummer zugewiesen, die jedoch in der Praxis nicht verwendet wird, da sie bei einer solchen Verwendung mit numpy identisch ist. Persönlich frage ich mich auch, ob Index eine Zahl sein kann.

Index und Spalten angeben

Gehen Sie wie folgt vor, um Index und Spalten anzugeben.

df.columns = ['foo', 'bar']
df.index = ['a', 'b', 'c']

Gehen Sie wie folgt vor, um den Index- und Spaltennamen des DataFrame zu überprüfen.

df.columns
df.index
df.info() # columns, index, memory usage

Einfachste Säulenextraktion

In DataFrame ist die Angabe, wie `__getitem__``` verwendet wird, die Angabe von Spalten. Sie können auch nach Spaltennummer abrufen. In diesem Fall müssen Sie jedoch auch nur einen einzelnen Listentyp angeben. Die Zeilennummer (Index) des Index kann mit dieser Methode jedoch nicht angegeben werden. Im Fall von Serien wird der Index durch `getitem``` angegeben. Es ist natürlich, weil es nur eine Spalte gibt.

df['foo'] or df[[0]]  # designate single column
df[['foo', 'bar']] or df[[0, 1]] # designate multi columns

Detailliertere Extraktion (ix, iloc, loc)

Wie oben erwähnt, enthalten die Positionsinformationen der Elemente im DataFrame die Elementnummer der Matrix und den benutzerdefinierten Namen. Es gibt drei Typen, ix, iloc und loc, um zu klären, welcher für die Extraktion verwendet wird. iloc kann nur durch Nummer angegeben werden, loc kann nur durch Name angegeben werden und ix kann von beiden angegeben werden. Wenn Sie im obigen Beispiel [0,0] verwenden möchten, können Sie wie folgt schreiben.

df.ix[[0], [0]]
df.ix[[0], ['foo']]
df.ix[['a'], ['foo']]
df.ix[['a'], [0]]
df.iloc[[0], [0]]
df.loc[['a'], ['foo']]

Wenn Sie mehrere Indizes angeben möchten, können Sie übrigens wie folgt vorgehen.

df.ix[:, [0]]   #alles
df.ix[1:5, [0]] #Bereichsspezifikation
df.ix[:]        #Geben Sie nur den Index an

Extraktion von Zeilen und Spalten aus bestimmten Bedingungen

Zeilenextraktion

So extrahieren Sie Zeilen, die bestimmte Bedingungen erfüllen, aus angegebenen Spalten. Alle Spalten in dieser Spalte werden ausgegeben.

print foo.loc[foo['bar'] == condition]

Säulenextraktion

Indirekt werden die Elemente, die die Bedingungen nicht erfüllen, zu NaN gemacht, und dann werden die Spalten, die NaN enthalten, gelöscht.

foo = foo[foo == 1] #Alle Elemente, die die Bedingungen nicht erfüllen, sind NaN.
foo = foo.dropna(axis=1)

Iterator

Beim Iterieren für jede Spalte von pd.DataFrame.

for index, rows in df.iterrows():
    print index, rows # rows: pd.Es ist ein DataFrame.

Erstellen und bearbeiten Sie pd.DataFrame.

#Beim Erstellen nur eines Schiffes
foo = pd.DataFrame(columns=['bar', 'baz'])

foo = pd.DataFrame({'bar': [0, 1, 2],
                    'baz': [3, 4, 5]}
                    index=['a', 'b', 'c'])
# foo
    bar  baz
a    0    3
b    1    4
c    2    5

Spalte hinzufügen

Das Hinzufügen einer neuen Spalte ist einfacher als das Hinzufügen einer Zeile.

foo['qux'] = [6, 7, 8]
# foo
    bar  baz  qux
a    0    3    6
b    1    4    7
c    2    5    8

Fügen Sie eine Zeile hinzu

foo = foo.append(pd.DataFrame({'bar': [6, 7], 'baz': [8, 9]}, index=['d', 'e']))
# foo
#Wenn Sie den Index ändern möchten, müssen Sie ihn selbst angeben.
    bar  baz
a    0    3
b    1    4
c    2    5
d    6    7
e    8    9

Löschen Sie Zeilen und Spalten.

foo.drop('e')
foo.drop('bar', axis=1) #Löschen Sie die Spalte.
del foo['bar'] #Löschen Sie die Spalte.(Ich benutze Python del.)

Referenz-URL http://stackoverflow.com/questions/17071871/select-rows-from-a-dataframe-based-on-values-in-a-column-in-pandas

referenced URL: http://sinhrks.hatenablog.com/entry/2014/11/12/233216

Recommended Posts

Grundlegende Bedienung von Pandas
Grundlegende Bedienung von Pandas
Zusammenfassung der grundlegenden Verwendung von Pandas
Grundlegende Bedienung von Python Pandas Series und Dataframe (1)
Pandas Operations Memorandum
Ich habe die Grundoperation von Pandas im Jupyter Lab geschrieben (Teil 1)
Ich habe die grundlegende Operation von Pandas im Jupyter Lab geschrieben (Teil 2).
[Python] Operation der Aufzählung
Automatischer Betrieb von Chrome mit Python + Selen + Pandas
Grundlegende Verwendung von Flask-Classy
Grundlegende Verwendung von Jinja2
Liste der grundlegenden Operationen für Python3-Listen, -Tapples, -Wörterbücher und -Sätze
Grundlegende Verwendung von SQL Alchemy
Grundkenntnisse in Python
Python Basic - Pandas, Numpy -
Notieren Sie sich die Liste der grundlegenden Verwendungszwecke von Pandas
Python-Anwendung: Pandas Teil 1: Basic
Super grundlegende Verwendung von Pytest
Grundlegende Verwendung der PySimple-Benutzeroberfläche
Filterbetrieb (Keine, Liste)
Grundlegender Ablauf der Erkennung von Anomalien
XPath-Grundlagen (1) - Grundkonzept von XPath
Einzeiliges Basisdiagramm von HoloViews
Verhalten der Pandas Rolling () Methode
Grundlegende Verwendung von Python-F-String
Index der Verwendung bestimmter Pandas
Die Kraft der Pandas: Python
Ich habe die Grundoperation von Seaborn im Jupyter Lab geschrieben
[Wissenschaftlich-technische Berechnung von Python] Grundlegende Operation des Arrays, numpy
Ich habe die Grundoperation von Numpy im Jupyter Lab geschrieben.
Ich habe die Grundoperation von matplotlib in Jupyter Lab geschrieben
Grundkenntnisse in Linux und Grundbefehle
Arbeitsmemorandum (Pymongo) Teil 1. Grundlegende Bedienung
Zusammenfassung der Grundkenntnisse von PyPy Teil 1
Zusammenfassung der grundlegenden Implementierung von PyTorch
Funktionen von pd.NA in Pandas 1.0.0 (rc0)
Etosetra im Zusammenhang mit Pandas read_csv
Pandas
Über den Grundtyp von Go
[Memo] Kleine Geschichte von Pandas, numpy
1. Mit Python 1-1 gelernte Statistiken. Grundlegende Statistiken (Pandas)
Benachrichtigen Sie LINE über Informationen zum Zugbetrieb
Grundlegende Grammatik des Python3-Systems (Wörterbuch)
Betriebsnotiz der virtuellen Conda-Umgebung
Grundlegendes Studium von OpenCV mit Python
[Python] Zusammenfassung der Verwendung von Pandas
[Linux] Überprüfung häufig verwendeter Basisbefehle 2
Zusammenfassung der häufig verwendeten Methoden bei Pandas
[Entwurfsstudie 1] Entwurfsstudie des PC-Betriebsautomatisierungssystems 1
Betrieb des automatischen Handelsskripts für virtuelle Währungen
Eine kleine Überprüfung von Pandas 1.0 und Dask
Elasticsearch-Installation und Grundbedienung für Ubuntu
Grundlegendes Schreiben verschiedener Programmiersprachen (Self-Memo)
Grundlegende Verwendung von Btrfs in Arch Linux