2017-02-26 2 views
3

Ich versuche, eine Zelle aus einem Pandas-Datenfeld in eine einfache Gleitkommazahl zu extrahieren. Ich versuchePandas - Extrahieren von Wert zu grundlegenden Python Float

prediction = pd.to_numeric(baseline.ix[(baseline['Weekday']==5) & (baseline['Hour'] == 8)]['SmsOut']) 

Doch diese gibt

128 -0.001405 
Name: SmsOut, dtype: float64 

Ich will es nur einen simle Python Schwimmer zurück: -0.001405 Wie kann ich das tun?

Antwort

1

Ausgang ist Series mit einem Wert ist, ist so dann weitere mögliche Lösungen:

  • Series.item
  • zu numpy array von values konvertieren und ersten Wert auswählen, indem Indexierungs
  • Auswahl nach Position durch iloc oder iat
prediction = pd.to_numeric(baseline.loc[(baseline['Weekday'] ==5) & 
             (baseline['Hour'] == 8), 'SmsOut']) 

print (prediction.item()) 

print (prediction.values[0]) 

print (prediction.iloc[0]) 
print (prediction.iat[0]) 

Probe:

baseline = pd.DataFrame({'Weekday':[5,3], 
         'Hour':[8,4], 
         'SmsOut':[-0.001405,6]}, index=[128,130]) 
print (baseline) 
    Hour SmsOut Weekday 
128  8 -0.001405  5 
130  4 6.000000  3 

prediction = pd.to_numeric(baseline.loc[(baseline['Weekday'] ==5) & 
             (baseline['Hour'] == 8), 'SmsOut']) 

print (prediction) 
128 -0.001405 
Name: SmsOut, dtype: float64 

print (prediction.item()) 
-0.001405 
print (prediction.values[0]) 
-0.001405 
print (prediction.iloc[0]) 
-0.001405 
print (prediction.iat[0]) 
-0.001405