DatenanalyseMitPython_02 - Wes McKinney Flashcards
Wes McKinney Auswertung von Daten mit Pandas, Numpy und iPython
Wie erstelle ich eine solche Series?
String_data = …
0 aardvark
1 artichoke
2 NaN
3 avocado
dtype: object
string_data = pd.Series([‘aardvark’, ‘artichoke’, np.nan, ‘avocado’])
Wie kann ich whitespace (inkl. Zeilenumbrüche) entfernen und Wörter nach Komma aus val separieren?
val = ‘a,b, guido’
pieces = …
pieces = [x.strip() for x in val.split(‘,’)]
Wie kann ich einen : in val suchen?
val.find(‘:’)
Der gibt mir dann 1 oder -1 heraus
Standard-Imports von matplotlib?
- %matplotlib notebook
- import matplotlib.pyplot as plt
Wo befinden sich Diagramme in matplotlib?
Diagramme in matplotlib befinden sich in einem Figure-Objekt.
Ein neues Diagramm können Sie mit plt.figure erstellen:
fig = plt.figure()
Wie kann ich diesen text aufteilen?
text = “"”Dave dave@google.com
Steve steve@gmail.com
Rob rob@gmail.com
Ryan ryan@yahoo.com
“””
pattern = r’[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}’
Es gibt drei Kategorien des re-Moduls: Mustererkennung, Ersetzen und Aufteilen.
- import re*
- regex = re.compile(pattern, flags=re.IGNORECASE)*
- regex.findall(text)*
Der Aufruf von findall auf dem Text erzeugt eine Liste der E-Mail-Adressen:
[‘dave@google.com’, ‘steve@gmail.com’, ‘rob@gmail.com’, ‘ryan@yahoo.com’]
Stellen Sie sich vor, Sie wollten in einer der Spalten Werte finden, deren absoluter Wert größer als 3 ist:
col = data[2]
Verwende eine ufunc.
col[np.abs(col) > 3]
Wie kann ich in df für die NA-Werte in Spalte 1 –> 0.5 und in Spalte 2 –> 0 einsetzen?
df.fillna({1: 0.5, 2: 0})
Wie kann ich die Zeilen entfernen lassen, die in Spalte k1 ein Duplikat haben?
data.drop_duplicates([‘k1’])
Wie kann ich einen String mit einer variablen Anzahl von Whitespace- Zeichen (Tabulatoren, Leerzeichen und Zeilenumbrüchen) aufteilen?
Ein regex beschreibt ein Muster, das im Text gesucht werden soll und dann für viele Zwecke eingesetzt werden kann.
Um alle Zeilen in data auszuwählen, die einen Wert enthalten, der über 3 oder –3 hinausgeht, können Sie die Methode XXX auf einem booleschen DataFrame einsetzen:
Methode any
data[(np.abs(data) > 3).any(1)]
Wie entfernt man aus DataFrame data nur die Zeilen, die komplett NA sind?
Mit how=’all’ werden nur die Zeilen entfernt, die komplett NA sind:
data.dropna(how=’all’)
Wie kann ich einen kommaseparierten String aufteilen?
val = ‘a,b, guido’
val.split(‘,’)
–> [‘a’, ‘b’, ‘ guido’]
Wie kann ich zählen, wie oft ein , in val auftritt?
val.count(‘,’)
Wie kann ich aus data die Duplikate entfernen lassen?
data.drop_duplicates()