2017-07-14 3 views
3

Hier bin ich Jus Extrahieren einer CSV-Datei und Lesen der "TV" -Werte, Berechnung Durchschnitt und Drucken mit Tensorflow. Aber ich bin immer „AttributError“ -Liste hat kein Attribut ‚Größe‘.“Kann jemand mir bitte helfen? Vielen Dank im Voraus.AttributeError: 'Liste' Objekt hat kein Attribut 'Größe'

import tensorflow as tf 
import pandas 
csv = pandas.read_csv("Advertising.csv")["TV"] 
t = tf.constant(list(csv)) 
r = tf.reduce_mean(t) 
sess = tf.Session() 
s = list(csv).size 
fill = tf.fill([s],r) 
f = sess.run(fill) 
print(f) 
+2

Versuchen Sie diese: 's = len (csv)' statt 's = Liste (csv) .size' – MaxU

+1

Nein, Listen haben kein Attribut 'size'. Der normale Weg, die Länge eines großen Objekts zu erhalten, besteht darin, 'len (object)' zu verwenden. –

+0

@Martijn Pieters. In diesem Fall gibt es das Ergebnis [147.04249573 147.04249573 147.04249573 147.04249573 147.04249573 147.04249573 147.04249573 147.04249573 147.04249573 147.04249573 ........................] – Raghavi

Antwort

2

Als Zusammenfassung der Diskussion in den Kommentaren, sind hier gültige Möglichkeiten, eine Länge bekommen der Säule in csv:

$ csv = pandas.read_csv("Advertising.csv") 
$ print type(csv), len(csv) 
<class 'pandas.core.frame.DataFrame'> 10 

$ series = csv["TV"] 
$ print type(series), len(series) 
<class 'pandas.core.series.Series'> 10 

$ as_list = list(series) 
$ print type(as_list), len(as_list) 
<type 'list'> 10 

Und hier ist, wie der Mittelwert berechnen (ohne tensorflow Sitzung):

$ import numpy as np 
$ print np.mean(series) 
1.2 
Verwandte Themen