从.csv文件用Python绘制正态分布

从.csv文件用Python绘制正态分布,python,python-2.7,csv,numpy,matplotlib,Python,Python 2.7,Csv,Numpy,Matplotlib,下面的脚本绘制给定数据类型的正态分布 import numpy as np import scipy.stats as stats import pylab as pl h = sorted ([0.9, 0.6, 0.5, 0.73788,...]) #Data that I would like to change fit = stats.norm.pdf(h, np.mean(h), np.std(h)) pl.plot(h,fit,'-o') pl.show() 我想了

下面的脚本绘制给定数据类型的正态分布

import numpy as np
import scipy.stats as stats
import pylab as pl

h = sorted ([0.9, 0.6, 0.5, 0.73788,...]) #Data that I would like to change

fit = stats.norm.pdf(h, np.mean(h), np.std(h))  
pl.plot(h,fit,'-o')
pl.show()    
我想了解如何绘制从.csv文件获取的数据,而不必手动引入它。假设所需数据位于给定的.csv文件的第2列中,我知道执行类似隔离数据的操作的方法是创建一个中间文件,但这甚至可能不是必需的

with open('infile.csv','rb') as inf, open('outfile.csv','wb') as outf:
    incsv = csv.reader(inf, delimiter=',')
    outcsv = csv.writer(outf, delimiter=',')
    outcsv.writerows(row[1] in incsv)
总之,基本上我的两个问题是,
-是否将.csv的第二列正确写入新的.csv文件?

-如何合并这两个脚本,以便用第一个脚本中的静态数据替换.csv文件列中的数据

将数据写回一个文件似乎非常迂回,可能是为了以后再读回。为什么不创建一个数据列表呢

def import_data(filename):
    """Import data in the second column of the supplied filename as floats."""
    with open(filename, 'rb') as inf:
        return [float(row[1]) for row in csv.reader(inf)]
然后可以调用此函数以获取要打印的数据

h = sorted(import_data('infile.csv'))

至于您的问题“我是否能将.csv的第二列正确写入新的.csv文件?”,答案是:测试它并找出答案。

将数据写回文件似乎非常迂回,可能以后再读取它。为什么不创建一个数据列表呢

def import_data(filename):
    """Import data in the second column of the supplied filename as floats."""
    with open(filename, 'rb') as inf:
        return [float(row[1]) for row in csv.reader(inf)]
然后可以调用此函数以获取要打印的数据

h = sorted(import_data('infile.csv'))
至于您的问题“我是否能将.csv的第二列正确写入新的.csv文件?”,答案是:测试并找出答案