[Python] Pandas Code, der wahrscheinlich wiederverwendet wird

importieren

import pandas as pd

Datenbestätigung

# Zeige die ersten 5 Zeilen
print(df.head(5))
# Zeigen Sie die letzten 5 Zeilen an
print(df.tail(5))

DataFrame

Datenrahmen leeren

# Datenrahmen leeren
df = pd.DataFrame(index=[], columns=[])
df = pd.DataFrame(index=[], columns=range(15))
 df = pd.DataFrame (0, Index = Bereich (4), Spalten = Bereich (15)) Füllen Sie mit # 0

# Erstellen Sie einen leeren Datenrahmen aus einem vorhandenen Datenrahmen
df_blank = df.iloc[0:0]

Ersetzen von Spaltennamen

# Ersetzen Sie Spaltennamen durch Seriennummern (da die Verarbeitung mit for einfach ist).
df.columns=list(range(len(df.columns)))
# Ersetzen Sie Spaltennamen durch Alphabete (da die Zuordnung zu Excel einfach ist).
df.columns=([chr(ord('A') + i) for i in range(26)]+["AA"]+["AB"])

Zeile umbenennen (Index)

# Index von 0 neu zuweisen
df=df.reset_index()
# Index von 1 neu zuweisen (da es einfach ist, ihn mit Excel abzugleichen)
df.index = df.index + 1
# Weisen Sie anderen Zeilen als dem Index Seriennummern zu
serial_num = pd.RangeIndex(start=0, stop=len(df.index) , step=1)
df['No'] = serial_num

Spaltenverarbeitung

Säulenextraktion

df['A']
df=df[["F","Z"]]
# Nur beliebige Spalten anzeigen
 df [['Spaltenname']]
# Zeilen 1, 2 und 4
df.iloc[[1,2,4]]
# 0-2. Spalte
df.iloc[[0,2]]

Spalte hinzufügen

# Wenn Sie keine Spalte angeben, wird die Spalte hinzugefügt.
df['job'] = ["Engineer"]
 df ['new_column'] = 0 # Füllen Sie den Anfangswert mit 0 und fügen Sie hinzu

Bedingungsextraktion

df=df[df['A'] > 450]
df=df[df['A']=='P1'] 
# Geben Sie mehrere Bedingungen an
 [Hinweis] Ein Fehler tritt auf, wenn nicht (&, |, ~) anstelle von (und oder oder nicht) verwendet wird.
 [Hinweis] Bei Verwendung des Vergleichsoperators tritt ein Fehler auf, sofern die Bedingungen nicht in Klammern angegeben sind.
df=df[(df['D']==0.0) | (df['D']==0.1)]

Bedingte Zuordnung

x=0 → y  x<>0 →x 
dfsum["z"]=dfsum["y"].where(dfsum["x"] ==0, dfsum["x"])
# Auswechslung
 gf2 ["Trefferquote"] = gf2 ['Treffer'] / gf2 ['Anzahl der Treffer']

Spalte umbenennen

# Konvertieren Sie y in Verkäufe
df.rename(columns={'y': 'sales'}, inplace=True)
df.columns = ['year_orig', 'pop', 'rate', '%']

Spalte löschen

 df.drop (5) # Zeile 5 löschen
 df.drop ([5,6]) # Zeilen 5,6 löschen
df.drop(['remarks'], axis=1, inplace=True)
# Beseitigen Sie doppelte Spalteninhalte
 df = set (Spalte df2.A)

Zuweisung / Aktualisierung von Spaltenwerten

df['A'].apply(lambda x: x * 2)   #=A1*2
 df ['A']. Übernehmen (Lambda x: 1, wenn x> 0, sonst 0) #IF (A1> 0,1,0)

Scheibe

# Wenn expand = True, wird es in zwei Teile geteilt, wenn nicht, wird es im Listenformat aufgeteilt.
print(df['a'].str[:2],expand=True)

Typänderung

# Anfangs vom Typ Objekt
df=df.astype(float)
df1["G"]=df1["G"].astype(int)
Möglichkeit Erläuterung
inplace=True Es wird eine destruktive Änderung sein, und auch die Originaldaten werden sich ändern

Zeilenverarbeitung (Indexverarbeitung)

[Hinweis] Da es bei 0 beginnt, wird es zu Excel-Zeile 1.

Zeilenextraktion

# Extrahieren Sie Zeilen für einen bestimmten Abschnitt
df[1:3]
# Extrahieren Sie nur 100 Zeilen
df.loc[100]
# Auszug aus Zeile 100 bis Zeile 105
df[100:106]
# Extrahieren Sie nur die ersten 10 Zeilen
df[:10]

Zeile hinzufügen

 Wenn Sie keine Zeile angeben, wird die Zeile hinzugefügt.
df.loc['ONE'] = 0
# Mehrwert für jede Zeile
df.loc['FIVE'] = ['A5', 'B5', 'C5']

Zeile löschen

# Entfernen Sie doppelte Zeilen
df=df.drop(range(0,3))
df.drop(range(0,3),inplace=True )

Ersatz

df['col1'] = df['col1'].str.replace('x', 'z')

Beitreten

# Vertikale Verbindung
df=pd.concat([df, df1])
# Horizontale Verbindung
df=pd.concat([df, df1], axis=1)

[Hinweis] Wenn der Index unterschiedlich ist, wird er nicht direkt daneben kombiniert. Wenn Sie ihn also direkt daneben platzieren möchten, weisen Sie den Index neu zu.

verschmelzen

 dfsum = pd.merge (dfsum, gf2, on = 'key', how = "Outer")

Gruppe

 gf = df3.groupby ('Spielername')
 gf1 = gf.agg ({'Heimatbasis': max, 'Basis stehlen': 'max', 'Blasrate': 'max'})
gf1=gf1.reset_index()

Zelle

# Auswechslung
df.loc[99,0] ='▲'
df.loc[:, 2:8] = 0

[Hinweis] SettingWithCopyWarning kann auftreten, wenn df.loc [99] [0] geschrieben wird (verkettete Indizierung). Der Wert ändert sich nicht

Sortieren

df.sort_values(['sales', 'temperature'], ascending=False)
sorted(df)
Möglichkeit Erläuterung
ascending=True absteigende Reihenfolge
ascending=False aufsteigende Reihenfolge

Umwandlung

# Liste → DataFrame
pd.DataFrame(data=list)

# Datenteil → Liste
s = pd.Series([0, 1, 2])
print(s)
 0    0
 1    1
 2    2
 dtype: int64
list= s.values.tolist()

Anzeige

# Zeigen Sie keine Spalten und Indizes an
print(df.to_string(index=False, header=False))

Datei lesen / schreiben

Excel-Datei lesen

df = pd.read_excel('sample.xlsx',sheet_name='sheet1')
Möglichkeit Erläuterung
sheet_name="" Geben Sie den Blattnamen an
header=None Wenn angegeben, lesen Sie ohne Header
Wenn nicht angegeben, wird die erste Zeile automatisch als Spaltenname eingefügt.
header=2 Lesen Sie die angegebene Zeile als Kopfzeile. Vorherige Zeilen werden ignoriert. Zeile 0 beginnt ab diesem Punkt

Excel-Datei exportieren

df.to_excel('sample.xlsx',sheet_name='sheet1', encoding='cp932',index=False, header=False)
Möglichkeit Erläuterung
sheet_name="" Geben Sie den Blattnamen an
index=False Zeilenname löschen und exportieren
header=False Spaltennamen löschen und exportieren

CSV-Datei lesen

df=pd.read_csv("sample.csv",encoding="cp932",header=None)
df=pd.read_csv("sample.csv",encoding="shift_jis")

df1=pd.read_csv(sample.csv,encoding='cp932',names=col_names,low_memory=False )

[Hinweis] Wenn die Windows-Erweiterungszeichenfolge gemischt ist, muss der Zeichencode als cp932 festgelegt werden. [Hinweis] Geben Sie beim Lesen einer schweren Datei low_memory = False ein.

CSV-Datei exportieren

df.to_csv('sample.csv',encoding='cp932')

Lesen Sie die durch TAB getrennte Datei

df=pd.read_csv("sample.DAT",encoding='cp932', sep='\t',names=col_names )

Textdatei lesen

df=pd.read_table("sample.DAT",encoding='cp932',header=None)

Schreiben von Textdateien

df.to_csv("employee.csv", sep=",")

Fehlende Daten

# Ersetzen Sie NaN in Spalte A durch '0.0'
df.fillna(value={'A': 0.0}, inplace=True)
# Löschen Sie die Zeile mit NaN in Spalte A.
df.dropna(subset=[A], axis=0, inplace=True)
# Ersetzen Sie '-' in Spalte A durch 0
df['A'] = df['A'].replace('--', 0).astype(float)

# Füllen Sie NaN mit dem Wert in der oberen Zelle
df=df.fillna(method='ffill')

Visualisierung

import matplotlib.pyplot as plt

Es fühlt sich gut an, den Plotstil wie folgt zu ändern

plt.style.use('ggplot') 
Notation Details der Bedienung
plt.title('Graphentitel') Titel einstellen
plt.xlabel('X-Achsenbeschriftung') Stellen Sie den Namen der x-Achse ein
plt.ylabel('Beschriftung der Y-Achse') Stellen Sie den Namen der y-Achse ein
plt.xlim(Mindestwert von X.,Maximalwert von X.) Geben Sie den x-Achsenbereich an
plt.ylim(Mindestwert von Y.,Maximalwert von Y.) Geben Sie den Bereich der y-Achse an
plt.legend() Legende anzeigen
plt.grid() Gitterlinien anzeigen

Recommended Posts

[Python] Pandas Code, der wahrscheinlich wiederverwendet wird
[Python] tkinter Code, der wahrscheinlich wiederverwendet wird
[Python] Extrahiere △△ mit maximalem ○○ mit Pandas
Schreiben Sie Python2-Code in Python3 um (2to3)
Ich hatte das Gefühl, dass ich den Python-Code nach C ++ 98 portiert habe.
Seltsame Python-Fehlermeldung - Wird dieser Code wirklich ausgeführt?
[Python] Liste in Pandas konvertieren [Pandas]
Konvertieren Sie Python 3.x-Code in Python 2.x.
So testen Sie, ob die Ausnahme in Python unittest ausgelöst wird
Python3-Verarbeitung, die in Paiza verwendbar zu sein scheint
Ich möchte Python mit VS-Code ausführen können
Python> Ist es möglich, Inline-Kommentare abzugeben?> Es scheint, dass es sich um mehrere Zeilen handeln muss
[Python3] Code, der verwendet werden kann, wenn Sie die Größe von Bildern Ordner für Ordner ändern möchten
Dieser Python-Code hat keine Klassen ...
So stellen Sie fest, dass in Python3 ein Kreuzschlüssel eingegeben wurde
Installieren Sie Pakete, die mit Python 3 kompiliert werden müssen, mit pip [Windows]
[Einführung in Python] Verwenden wir Pandas
Wenn Python-Code, der von anderen geschrieben wurde, schwer zu entschlüsseln ist (Python)
[Einführung in Python] Verwenden wir Pandas
[Einführung in Python] Verwenden wir Pandas
Mit PEP8 und PEP257 ist es nicht peinlich, Python-Codierung zu zeigen!
CNN bestimmt, an welcher Universität eine schöne Frau wahrscheinlich sein wird
[Python] Ein Programm, das die Anzahl der gepaarten Socken berechnet
Es wurde ein Fehler behoben, bei dem node.surface mit python3 + mecab nicht abgerufen werden konnte
Python-Code, der DNA-Sequenzen ergänzt Welche Methode ist schneller?
[Python] Was ist Pandas Series und DataFrame?
[Python] Zusammenfassung der Verwendung von Pandas
[Pandas] Was ist set_option?
[Python] [Pandas] Wie wird pd.DataFrame (). T implementiert?
Python 3.9 Dict Merge (`|`) scheint nützlich zu sein
[Python] Pandas in 10 Minuten vollständig zu verstehen
10 Python-Fehler, die Anfängern häufig sind
[Python] Fügen Sie Pandas DataFrame insgesamt Zeilen hinzu
Hinzufügen von Serien zur Spalte in Python-Pandas
Verwendung ist und == in Python
[Python3] Code, der verwendet werden kann, wenn Sie ein Bild in einer bestimmten Größe ausschneiden möchten
[Python3] Code, der verwendet werden kann, wenn Sie die Erweiterung eines Bildes sofort ändern möchten
Atcoder-Anfängerwettbewerb A, B Zusammenfassung der Eingabe, die tendenziell ein Problem für Python darstellt
Ich möchte eine Prioritätswarteschlange erstellen, die mit Python (2.7) aktualisiert werden kann.
Ich habe versucht, die Operationen zusammenzufassen, die wahrscheinlich mit numpy-stl verwendet werden
So installieren Sie die Python-Bibliothek, die von Pharmaunternehmen verwendet werden kann
[Einführung in die Udemy Python3 + -Anwendung] 37. Technik zur Beurteilung, dass es keinen Wert gibt
Was ist ein Algorithmus? Einführung in den Suchalgorithmus] ~ Python ~
Python wurde bisher erkannt.
Python Pandas ist nicht für die Stapelverarbeitung geeignet
Python-Skript zum Konvertieren von Breiten- und Längengrad in Mesh-Code
[Python] Weg zur Schlange (6) Manipuliere Pandas
Python-Listeneinschlussnotation, die leicht zu vergessen ist
[Python] Wie man Excel-Dateien mit Pandas liest
Persönliche Notizen zum Dokumentieren von Python-Code in Sphinx
[Python] Erstellen Sie eine Tabelle von Pandas DataFrame zu Postgres
[Road to Intermediate] Python scheint alles Objekte zu sein
Python-Code, der zusammenhängende Leerzeichen in einem entfernt
[Python] Es scheint etwas zu geben, das __dict__ heißt
Versuchen Sie, zu doas zu wechseln, da sudo das ist
Liste des zu verschiebenden und zu merkenden Python-Codes
Ich möchte C ++ - Code aus Python-Code erstellen!
[Einführung in die Udemy Python3 + -Anwendung] 54. Was ist Docstrings?
Konvertieren Sie kubischen Netzcode in Python in WKT