Ich bin etwas neu in Pandas. Ich habe einen Pandas-Datenrahmen, der 1 Zeile mal 23 Spalten umfasst.
Ich möchte dies in eine Serie umwandeln? Ich frage mich, was der pythonischste Weg ist, dies zu tun.
Ich habe es versucht, pd.Series(myResults)
aber es beschwert sich ValueError: cannot copy sequence with size 23 to array axis with dimension 1
. Es ist nicht klug genug zu erkennen, dass es in mathematischer Hinsicht immer noch ein "Vektor" ist.
Vielen Dank!
df.T
df.T
jedoch keine Serie, sondern nur einen transponierten DataFrame.Sie können die einreihige Datenrahmen umzusetzen (die in einem Datenrahmen ergibt sich immer noch) und dann drücken Sie die Ergebnisse in einer Reihe (die Inverse
to_frame
).Hinweis: Um den von @IanS angesprochenen Punkt zu berücksichtigen (auch wenn dies nicht in der Frage des OP steht), testen Sie die Größe des Datenrahmens. Ich
df
gehe davon aus, dass dies ein Datenrahmen ist, aber die Randfälle sind ein leerer Datenrahmen, ein Datenrahmen mit Form (1, 1) und ein Datenrahmen mit mehr als einer Zeile. In diesem Fall sollte die Verwendung ihre gewünschte Funktionalität implementieren.Dies kann auch im Sinne der Antwort von @themachinist vereinfacht werden.
quelle
squeeze
. Für einen Datenrahmen mit Form(1, 1)
wird nicht eine Reihe von Längen 1, sondern ein numpy-Skalar zurückgegeben. Dies führte zu einem schwer zu fassenden Fehler bei der Verwendungsqueeze
von Objekten unbekannter Länge (zgroupby
. B. mit ).to_frame
nichtto_series
oderpd.Series(df)
...?.T
Sie können die Serie abrufen, indem Sie Ihren Datenrahmen mit einer der beiden folgenden Methoden aufteilen:
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.iloc.html http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.loc.html
quelle
Ein anderer Weg -
Angenommen, myResult ist der Datenrahmen, der Ihre Daten in Form von 1 Spalte und 23 Zeilen enthält
In ähnlicher Weise können Sie Serien von Dataframe mit mehreren Spalten abrufen.
quelle
Sie können auch stack () verwenden
Nachdem Sie df ausgeführt haben, führen Sie Folgendes aus:
Sie erhalten Ihren Datenrahmen in Serie
quelle
Dies ergibt einen Datenrahmen mit Index als Spaltennamen der Daten und alle Daten sind in der Spalte "Werte" vorhanden
quelle