Oft sind Sie daran interessiert, alle eindeutigen Werte in mehreren Spalten eines Pandas DataFrame zu finden. Glücklicherweise ist dies mit der Funktion Pandas unique() in Kombination mit der Funktion ravel …
Gelegentlich möchten Sie möglicherweise einen Pandas-DataFrame aus einem NumPy-Array erstellen. Glücklicherweise ist dies mit der folgenden Syntax einfach zu bewerkstelligen:
# NumPy-Array erstellen
data = np.array([[1, 7, 6, 5, 6], [4, 4, 4, 3, 1]])
# NumPy-Array in Pandas DataFrame konvertieren
df = pd.DataFrame(data=data)
Dieses Tutorial enthält ein Beispiel für das Erstellen eines Pandas DataFrame aus einem NumPy-Array in der Praxis.
Erstellen Sie Pandas DataFrame aus einem NumPy-Array
Angenommen, wir haben das folgende NumPy-Array:
import numpy as np
# NumPy-Array erstellen
data = np.array([[1, 7, 6, 5, 6], [4, 4, 4, 3, 1]])
# Klasse des NumPy Arrays ausgeben
print(type(data))
<class 'numpy.ndarray'>
Wir können die folgende Syntax verwenden, um einen Pandas DataFrame aus dem Array zu erstellen:
import pandas as pd
# NumPy-Array in Pandas DataFrame konvertieren
df = pd.DataFrame(data=data)
#print DataFrame
print(df)
0 1 2 3 4
0 1 7 6 5 6
1 4 4 4 3 1
# Klasse des DataFrames ausgeben
print(type(df))
<class 'pandas.core.frame.DataFrame'>
Geben Sie die Zeilen- und Spaltennamen manuell an
Wir können Zeilennamen für den Pandas Dataframe festlegen, indem Sie den Index Argument und Spaltennamen mit dem Spalten Argumente:
#konvertieren Sie das NumPy-Array in Pandas DataFrame und geben Sie Zeilen und Spalten an
df = pd.DataFrame(data=data, index=["r1", "r2"], columns=["A", "B", "C", "D", "E"])
# Geben Sie das DataFrame aus
print(df)
A B C D E
r1 1 7 6 5 6
r2 4 4 4 3 1
Geben Sie automatisch Zeilen- und Spaltennamen an
Wenn das NumPy-Array ziemlich groß ist, ist es möglicherweise nicht sinnvoll, jeden Zeilen- und Spaltennamen manuell anzugeben. In diesem Fall könnten wir eine einfache for-Schleife verwenden, um Zeilen- und Spaltennamen anzugeben
Der folgende Code zeigt, wie das geht:
# NumPy Array mit 100 Werten erstellen
data = np.arange(0,100,1).reshape(20,5)
# NumPy Array ausgeben
print(data)
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]
[20 21 22 23 24]
[25 26 27 28 29]
[30 31 32 33 34]
[35 36 37 38 39]
[40 41 42 43 44]
[45 46 47 48 49]
[50 51 52 53 54]
[55 56 57 58 59]
[60 61 62 63 64]
[65 66 67 68 69]
[70 71 72 73 74]
[75 76 77 78 79]
[80 81 82 83 84]
[85 86 87 88 89]
[90 91 92 93 94]
[95 96 97 98 99]]
# konvertieren Sie in pandas DataFrame und geben Sie automatisch Zeilen- und Spaltennamen an
df=pd.DataFrame(data=data[0:,0:],
index=[i for i in range(data.shape[0])],
columns=['col'+str(i) for i in range(data.shape[1])])
# DataFrame ausgeben
print(df)
col0 col1 col2 col3 col4
0 0 1 2 3 4
1 5 6 7 8 9
2 10 11 12 13 14
3 15 16 17 18 19
4 20 21 22 23 24
5 25 26 27 28 29
6 30 31 32 33 34
7 35 36 37 38 39
8 40 41 42 43 44
9 45 46 47 48 49
10 50 51 52 53 54
11 55 56 57 58 59
12 60 61 62 63 64
13 65 66 67 68 69
14 70 71 72 73 74
15 75 76 77 78 79
16 80 81 82 83 84
17 85 86 87 88 89
18 90 91 92 93 94
19 95 96 97 98 99
Wir können die Klasse des DataFrame zusammen mit der Form schnell bestätigen:
# Klasse des DataFrames ausgeben
print(type(df))
<class 'pandas.core.frame.DataFrame'>
# Anzahl der Zeilen und Spalten des DataFrame ausgeben
df.shape
(20, 5)
So finden Sie eindeutige Werte in mehreren Spalten in Pandas
So filtern Sie Pandas DataFrame-Zeilen nach Datum
Oft möchten Sie die Zeilen eines Pandas DataFrame nach Datum filtern. Praktischerweise ist dies ziemlich einfach und in diesem Tutorial werden je nach Struktur Ihres DataFrame zwei Möglichkeiten erläutert.