Ich habe diesen Datenrahmen: Wie setze ich den Wert eines Datenrahmens in Array-Form?
Ich wünsche haben Extrakt die Daten für Wert-Spalte in Form von Array, das die Ausgabe sein sollte: [nan, 47, 47,9, 48,6]
Kann mir jemand die Ideen mitteilen?
Ich habe diesen Datenrahmen: Wie setze ich den Wert eines Datenrahmens in Array-Form?
Ich wünsche haben Extrakt die Daten für Wert-Spalte in Form von Array, das die Ausgabe sein sollte: [nan, 47, 47,9, 48,6]
Kann mir jemand die Ideen mitteilen?
Verwenden values
für numpy array
+ numpy.ndarray.tolist
für list
:
L = df['value'].values.tolist()
#alternative
#L = df['value'].tolist()
Oder konvertieren list
:
L = list(df['value'])
EDIT:
Es scheint, Sie zu float
zuerst von astype
konvertieren müssen:
df = pd.DataFrame({'value':['nan','47','47.9','48.6']})
print (df)
value
0 nan
1 47
2 47.9
3 48.6
L1 = df['value'].values.tolist()
print (L1)
['nan', '47', '47.9', '48.6']
L2 = df['value'].astype(float).values.tolist()
print (L2)
[nan, 47.0, 47.9, 48.6]
denn wenn float
alle Werte unterschiedlichen Ausgang bekommen - 47.0
nicht 47
:
df = pd.DataFrame({'value':[np.nan,47,47.9,48.6]})
value
0 NaN
1 47.0
2 47.9
3 48.6
L = df['value'].values.tolist()
print (L)
[nan, 47.0, 47.9, 48.6]
EDIT1:
Wenn astype
Rückkehr Fehler zB:
ValueError: could not convert string to float: 'a'
dann müssen to_numeric
mit dem Parameter errors='coerce'
für konvertieren nicht numerisch NaN
df = pd.DataFrame({'value':[np.nan,47,47.9,48.6, 'a']})
print (df)
value
0 NaN
1 47
2 47.9
3 48.6
4 a
print (pd.to_numeric(df['value'], errors='coerce'))
0 NaN
1 47.0
2 47.9
3 48.6
4 NaN
Name: value, dtype: float64
L = pd.to_numeric(df['value'], errors='coerce').values.tolist()
print (L)
[nan, 47.0, 47.9, 48.6, nan]
Mögliche Duplikat [get Liste von Pandas Datenrahmen Spalte] (http://stackoverflow.com/questions/22341271/get-list-from-pandas-dataframe-column) – McGrady