我有一個csv文件,我必須計算一些列的平均值。 這就是我所做的:如何從csv文件讀取python中的數字?
file=csv.reader(open('tab.csv','r'))
n=[]
for row in file:
n.append(row[8])
所以我有字符串列表:N = [ '', '', '1.58' ...] 我怎樣才能將這些浮動? 我試着用:
n_values=np.array(n)
n_values[n=='']='0'
values=n_values.astype(np.float)
np.mean(values)
但平均是不正確的,因爲我應該跳過空字符串不計。 感謝您的幫助!
你可以用'n.append(浮點(行[8]))',但如果你有你的空值將需要把它放在try/except塊中。 – matiasg
@Alice實際上你問的是如何將字符串轉換爲浮點數。問題的其餘部分是無關緊要的 –
@OmerDagan:不得不使用顯式類型轉換是一種代碼異味,只需使用pandas'pd.read.csv()'。作爲看臺的問題很好(希望CSV文件有一個標題) – smci