pandas.Serie() die Schöpfung mit DataFrame Spalten NaN zurück Daten-Einträge
Im Versuch, zu konvertieren, ein dataframe in eine Reihe mit code, die, vereinfacht, wie folgt aussieht:
dates = ['2016-1-{}'.format(i)for i in range(1,21)]
values = [i for i in range(20)]
data = {'Date': dates, 'Value': values}
df = pd.DataFrame(data)
df['Date'] = pd.to_datetime(df['Date'])
ts = pd.Series(df['Value'], index=df['Date'])
print(ts)
Jedoch, print-Ausgabe sieht wie folgt aus:
Date
2016-01-01 NaN
2016-01-02 NaN
2016-01-03 NaN
2016-01-04 NaN
2016-01-05 NaN
2016-01-06 NaN
2016-01-07 NaN
2016-01-08 NaN
2016-01-09 NaN
2016-01-10 NaN
2016-01-11 NaN
2016-01-12 NaN
2016-01-13 NaN
2016-01-14 NaN
2016-01-15 NaN
2016-01-16 NaN
2016-01-17 NaN
2016-01-18 NaN
2016-01-19 NaN
2016-01-20 NaN
Name: Value, dtype: float64
Wo kommt NaN
kommen? Ist eine Sicht auf einen DataFrame
Objekt ist keine gültige Eingabe für die Series
Klasse ?
Ich habe Sie gefunden to_series
- Funktion für pd.Index
Objekte, gibt es etwas ähnliches für DataFrame
s ?
Sind Sie beginnend mit dem dataframe oder ist es nur ein Zwischenschritt?
Beginnend mit einem dataframe - das ist der Grund, warum ich nicht steckte es in eine Reihe sofort; das laden der Daten aus einer CSV mit mehreren Spalten.
Ah okay. So können Sie ignorieren meine Antwort.
Beginnend mit einem dataframe - das ist der Grund, warum ich nicht steckte es in eine Reihe sofort; das laden der Daten aus einer CSV mit mehreren Spalten.
Ah okay. So können Sie ignorieren meine Antwort.
InformationsquelleAutor nlsdfnbch | 2016-03-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, dass Sie verwenden können,
Werte
, es konvertieren SpalteValue
array:Oder Sie verwenden können:
Danke @ajcr für eine bessere Erklärung, warum man
NaN
:Wenn Sie einen
Series
oderDataFrame
Spaltepd.Series
es wird neu indizieren diese mithilfe derindex
Sie angeben. Da IhrDataFrame
Spalte ist ein integerindex
(nichtdate index
) erhalten Sie viele fehlende Werte.Aus Neugier, aus was es konvertieren die Daten in der Liste ? Ich dachte immer, ich kann mir denken, die zurückgegebenen Werte
df['Date']
als iterierbar, vergleichbar mit Listen - ist das nicht der Fall?Wenn Sie eine Serie oder DataFrame Spalte
pd.Series
wird, wird es reindex über den index, den Sie angeben. Da Ihr DataFrame Spalte ist ein integer-index (kein Datum index). erhalten Sie viele fehlende Werte.Danke für die Erklärung.
InformationsquelleAutor jezrael
Wenn Sie nur auf der Suche nach eine zu erstellen Reihe mit diesen Werten könnte man auch getan haben:
InformationsquelleAutor k-nut
Können Sie nur:
Ist jetzt eine Spalte dataframe.
Wenn Sie wirklich wollen, es als eine Serie:
btw, NaN numpy ist Keine Zahl.
Mit Ihrer Methode, die Sie verwenden könnten:
Dem Grund, dass Sie immer die NaNs ist, dass Sie nicht die Bereitstellung der Daten in das richtige format. Sie übergeben eine Serie zu Serie.
InformationsquelleAutor Alexander