loadtxt()函數的糟心歷程


原計划:導入一個csv文件,然后算出平均值

 

import numpy as np

 

c=np.loadtxt('d:\python36\data.csv', delimiter=',', usecols=(2,), unpack=True)

 

print ("median =", np.median(c))

 

---------------------------

 

報錯:OSerror: d:\python36\data.csv not found

 

找了半天原因:原來是data.csv應該是data_1.csv

 

 

 

后來以為編碼問題

 

import numpy as np

 

import codecs

 

myfile='d:\python36\data_1.csv'

 

filecp = codecs.open(myfile, encoding='utf-8')

 

c=np.loadtxt(filecp, skiprows=2,dtype=int)

 

print ("median =", np.median(c))

 

---------------------------

 

報錯:ValueError:  could not convert string to float:’12,1,2,12’

 

搞了半天,沒找到原因

 

去掉dtype=int后,報錯IndexError:list index out of range

 

 

最終:

 

import numpy as np

 

import codecs

 

myfile='d:\python36\data_1.csv'

 

filecp = codecs.open(myfile, encoding='utf-8')

 

c=np.loadtxt(filecp, skiprows=2,delimiter=’,’, usecols=(2,),dtype=float)

 

print ("median =", np.median(c))

 

 

 

搞定,IndexError問題出在delimiter=’,’;而ValueError問題出在dtype=int和delimiter=’,’,因為沒有delimiter=’,’隔開,就沒法轉換數據類型

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM