Mam plik csv i muszę obliczyć średnią dla niektórych kolumn. To jak to zrobiłem:Jak odczytać liczby w pythonie z pliku csv?
file=csv.reader(open('tab.csv','r'))
n=[]
for row in file:
n.append(row[8])
Więc mam listę sznurka: n = [ '', '', '1.58' ...] Jak mogę przekonwertować je do pływaka? Próbowałem z:
n_values=np.array(n)
n_values[n=='']='0'
values=n_values.astype(np.float)
np.mean(values)
Ale średnia nie jest prawidłowe, ponieważ powinienem pominąć pustych strun nie licząc. Dziękujemy za pomoc!
Można użyć 'n.append (float (wiersz [8]))', ale jeśli masz pustych wartości, które będzie musiał umieścić to wewnątrz bloku try/except. – matiasg
@Alice To, o co pytasz, to jak przekonwertować ciąg znaków na float. Reszta rzeczy w pytaniu jest nieistotna. –
@OmerDagan: Konieczność dokonywania konwersji typu jawnego to zapach kodu, wystarczy użyć pandy 'pd.read.csv()'. Pytanie w standardzie jest w porządku (mam nadzieję, że plik CSV ma nagłówek) – smci