4

csv dictreader、matplotlib、およびnumpyを使用して、csvファイルの1列のデータを使用して単純な確率密度関数(pdf)グラフを作成しようとしています...

numpy 配列と組み合わせて CSV DictReader を使用する簡単な方法はありますか? 以下は動作しないコードです。エラーメッセージは TypeError: len() of unsized object です。これは、データが numpy 配列形式ではないという事実に関連していると思いますか? また、私のデータには負の数と正の数があります。前もって感謝します!

import easygui
import csv
import scipy.stats
from numpy import*
from pylab import*


filename= easygui.fileopenbox(msg='Altitude outlier graph', title='select file',  filetypes=['*.csv'], default='X:\\')
alt_file=open(filename)    

x=[]
for row in csv.DictReader(alt_file):
    x.append(float(row['Dist_90m(nmi)']))

a=scipy.stats.pdf_moments(x)

prob, bins, patches= hist(a, 10,align='left',facecolor='green')

ylabel('probability density function')
show()
4

2 に答える 2

0

助けてくれてありがとう!! 次のコードは、確率密度関数のグラフを生成します。書式設定にまだ問題がありますが、これは良い出発点だと思います。

import easygui
import csv
import scipy.stats
import numpy
from pylab import*

filename= easygui.fileopenbox(msg='Altitude outlier graph', title='select file', filetypes=['*.csv'], default='X:\\herring_schools\\')
alt_file=open(filename)    

a=[]
for row in csv.DictReader(alt_file):
    a.append(row['Dist_90m(nmi)'])
y= numpy.array(a, float)    

pdf, bins, patches=hist(y, bins=6, align='left',range=None, normed=True)
ylabel('probability density function')
xlabel('Distance from 90m contour line(nm)')
ylim([0,1])
show()
于 2009-08-25T22:29:56.180 に答える