DatenanalyseMitPython_02 - Wes McKinney Flashcards

Wes McKinney Auswertung von Daten mit Pandas, Numpy und iPython

1
Q

Wie erstelle ich eine solche Series?

String_data = …

0 aardvark

1 artichoke

2 NaN

3 avocado

dtype: object

A

string_data = pd.Series([‘aardvark’, ‘artichoke’, np.nan, ‘avocado’])

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wie kann ich whitespace (inkl. Zeilenumbrüche) entfernen und Wörter nach Komma aus val separieren?

val = ‘a,b, guido’

pieces = …

A

pieces = [x.strip() for x in val.split(‘,’)]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wie kann ich einen : in val suchen?

A

val.find(‘:’)

Der gibt mir dann 1 oder -1 heraus

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Standard-Imports von matplotlib?

A
  • %matplotlib notebook
  • import matplotlib.pyplot as plt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wo befinden sich Diagramme in matplotlib?

A

Diagramme in matplotlib befinden sich in einem Figure-Objekt.

Ein neues Diagramm können Sie mit plt.figure erstellen:

fig = plt.figure()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

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}’

A

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’]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

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.

A

col[np.abs(col) > 3]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie kann ich in df für die NA-Werte in Spalte 1 –> 0.5 und in Spalte 2 –> 0 einsetzen?

A

df.fillna({1: 0.5, 2: 0})

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wie kann ich die Zeilen entfernen lassen, die in Spalte k1 ein Duplikat haben?

A

data.drop_duplicates([‘k1’])

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie kann ich einen String mit einer variablen Anzahl von Whitespace- Zeichen (Tabulatoren, Leerzeichen und Zeilenumbrüchen) aufteilen?

A

Ein regex beschreibt ein Muster, das im Text gesucht werden soll und dann für viele Zwecke eingesetzt werden kann.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

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:

A

Methode any

data[(np.abs(data) > 3).any(1)]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wie entfernt man aus DataFrame data nur die Zeilen, die komplett NA sind?

A

Mit how=’all’ werden nur die Zeilen entfernt, die komplett NA sind:

data.dropna(how=’all’)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie kann ich einen kommaseparierten String aufteilen?

val = ‘a,b, guido’

A

val.split(‘,’)

–> [‘a’, ‘b’, ‘ guido’]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie kann ich zählen, wie oft ein , in val auftritt?

A

val.count(‘,’)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wie kann ich aus data die Duplikate entfernen lassen?

A

data.drop_duplicates()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was ist der Sverweis in Python?

A

Die Methode map auf einer Series akzeptiert eine Funktion oder ein Dictionary-artiges Objekt mit einer Zuordnung

17
Q

Wie kann ich ein Komma , aus val löschen?

A

val.replace(‘,’, ‘’)

18
Q

Wie kann ich in data für die NA-Werte den Mittelwert einfügen lassen?

A

data.fillna(data.mean())

19
Q

Wie kann ich diesen String aufteilen?

text = “foo bar\t baz \tqux”

v

[‘foo’, ‘bar’, ‘baz’, ‘qux’]

A

import re

re.split(‘\s+’, text)

Mit \s+ werden ein oder mehrere Whitespaces beschrieben.

20
Q

Wie kann ich in df die NA Werte mit 0 ersetzen?

A

Anstatt fehlende Daten herauszufiltern (und damit potenziell andere Daten mit zu verwerfen), könnten Sie die »Löcher« auf andere Weise füllen. In den meisten Fällen ist die Methode fillna das Werkzeug der Wahl. Beim Aufruf von fillna mit einer Konstanten werden fehlende Werte durch diesen Wert ersetzt:

df.fillna(0)

21
Q

Wie kann ich in dem Dataframe data eine zusätzliche Spalte v1 mit Zahlen von 0 bis 6 einfügen lassen?

A

data[‘v1’] = range(7)

22
Q

Wie kann ich mir aus Series string_data die Null-Werte als boolean anzeigen lassen?

A

string_data.isnull()

23
Q

Standard-Import für NaN-Werte?

A

from numpy import nan as NA

24
Q

Wie kann ich aus df die ersten 4 Werte aus Spalte 1 als NA setzen?

A

df.iloc[:4,1] = NA

25
Q

Wie ersetze ich in data die Werte -999 und -1000 mit nan, bzw. 0?

A

data.replace([-999,-1000],[np.nan,0])

26
Q

Die Standard-Import am Anfang?

A

import numpy as np
import pandas as pd
from pandas import Series, DataFrame

27
Q

data = np.arange(10)

Wie kann ich data als plot malen?

A

plt.plot(data)

28
Q

Wie kann ich die NA herausfiltern?

data = pd.Series([1, NA, 3.5, NA, 7])

A

data.dropna()

29
Q

Wie kann ich aus data die Spalte food alles kleinschreiben?

lowercased = …

A

lowercased = data[‘food’].str.lower()

30
Q

Wie kann ich aus data alle Spalten entfernen, die komplett NA sind?

A

data.dropna(axis=1, how=’all’)

31
Q

Wie kann ich überprüfen, ob in data das Wort gmail vorkommt?

A

data.str.contains(‘gmail’)

32
Q

pieces

[‘a’, ‘b’, ‘guido’]

first, second, third = pieces

Wie kann ich so etwas erstellen?

‘a::b::guido’

A

’::’.join(pieces)

33
Q

Wie kann ich Subplots in eine Abbildung einfügen?

fig = plt.figure()

ax1 = …

A

ax1 = fig.add_subplot(2, 2, 1)

Das bedeutet, dass die Abbildung 2 × 2 Diagramme enthält (also insgesamt vier)
und wir den ersten der vier Subplots auswählen (von 1 aufwärts gezählt).

ax2 = fig.add_subplot(2, 2, 2)

ax3 = fig.add_subplot(2, 2, 3)

34
Q

ages = [20, 22, 25, 27, 21, 23, 37, 31, 61, 45, 41, 32]

Unterteilen wir sie in die Gruppen 18 bis 25, 26 bis 35, 36 bis 60 und schließlich 61 und älter.

cats = …

A

bins = [18,25,35,60,100]

cats = pd.cut(ages,bins)

35
Q

Wie kann ich eine zusätzliche Spalte animal in data einfügen, mit einer Zuordnung von Fleisch zu Tier (meat_to_animal).

lowercased enthält das Gericht.

A

data[‘animal’] = lowercased.map(meat_to_animal)

36
Q

Wie entsteht ein wiederverwendbares regex-Objekt?

text = “foo bar\t baz \tqux”

regex = …

A

import re

text = “foo bar\t baz \tqux”

regex = re.compile(‘\s+’)

regex.split(text)

37
Q

Wie kann ich von data eine boolesche Serie zurückgeben lassen, die anzeigt, ob die Zeile ein Duplikat ist?

A

data.duplicated()