PythonDataScience_01 - Jake VanderPlas Flashcards
In welcher Sprache ist Python geschrieben?
The standard Python implementation is written in C. This means that every Python object is simply a cleverly-disguised C structure, which contains not only its value, but other information as well.
This means that there is some overhead in storing an integer in Python as compared to an integer in a compiled language like C
Was kann eine Liste aus der Python-Datenstruktur speichern?
Durch dynamische Typisierung kann ich heterogene Listen erstellen mit Integern, Strings oder Boolean.
Das erhöht aber auch den Speicherbedarf, da jedes als einzelne Python-Objekt gespeichert wird.
Bei C wäre es nur ein Pointer auf einen Speicherplatz.
Wenn ich eine homogene Liste (Integer Array) erstellen möchte, was benutze ich am besten?
Das ndarray aus dem NumPy-Paket.
import numpy as np
In [8]:
integer array:
np.array([1, 4, 2, 5, 3])
Out[8]:
array([1, 4, 2, 5, 3])
Wie kann ich explizit den Datentyp in einem Numpy-Array festlegen?
Ein Array 1,2,3,4 mit Datentyp float32
In [10]:
np.array([1, 2, 3, 4], dtype=’float32’)
Out[10]:
array([1., 2., 3., 4.], dtype=float32)
Wie kann ich mit Numpy ein multidimensionales Array erstellen?
array([[2, 3, 4],
[4, 5, 6],
[6, 7, 8]])
In [11]:
nested lists result in multi-dimensional arrays
np.array([range(i, i + 3) for i in [2, 4, 6]])
Out[11]:
array([[2, 3, 4],
[4, 5, 6],
[6, 7, 8]])
Numpy: Create a length-10 integer array filled with zeros
Create a length-10 integer array filled with zeros
np.zeros(10, dtype=int)
Out[12]:
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
Numpy: Create a 3x5 floating-point array filled with ones
Create a 3x5 floating-point array filled with ones
np.ones((3, 5), dtype=float)
Out[13]:
array([[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]])
Numpy: Create a 3x5 array filled with 3.14
Create a 3x5 array filled with 3.14
np.full((3, 5), 3.14)
Out[14]:
array([[3.14, 3.14, 3.14, 3.14, 3.14],
[3.14, 3.14, 3.14, 3.14, 3.14],
[3.14, 3.14, 3.14, 3.14, 3.14]])
Numpy: # Create an array filled with a linear sequence # Starting at 0, ending at 20, stepping by 2 # (this is similar to the built-in range() function)
np.arange(0, 20, 2)
Out[15]:
array([0, 2, 4, 6, 8, 10, 12, 14, 16, 18])
Numpy: Create an array of five values evenly spaced between 0 and 1
np.linspace(0, 1, 5)
Out[16]:
array([0. , 0.25, 0.5 , 0.75, 1.])
Numpy:
Create a 3x3 array of uniformly distributed # random values between 0 and 1
np.random.random((3, 3))
Out[17]:
array([[0.99844933, 0.52183819, 0.22421193],
[0.08007488, 0.45429293, 0.20941444],
[0.14360941, 0.96910973, 0.946117]])
Numpy
Create a 3x3 array of normally distributed random values # with mean 0 and standard deviation 1
np.random.normal(0, 1, (3, 3))
Out[18]:
array([[1.51772646, 0.39614948, -0.10634696],
[0.25671348, 0.00732722, 0.37783601],
[0.68446945, 0.15926039, -0.70744073]])
Numpy
Create a 3x3 array of random integers in the interval [0, 10)
np.random.randint(0, 10, (3, 3))
Out[19]:
array([[2, 3, 4],
[5, 7, 8],
[0, 5, 0]])
Numpy
Create a 3x3 identity matrix
np.eye(3)
Out[20]:
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
Numpy
Create an uninitialized array of three integers # The values will be whatever happens to already exist at that memory location
np.empty(3)
Out[21]:
array([1., 1., 1.])