Python和科学计算认证群组  - 讨论区

标题:问个数据处理的问题。

2011年03月15日 星期二 20:48

我现在想从EXCEL里面读出多组数据并分别写入不同[]里

应该如何使用for循环?

还有,想对这些数据进行插值

residual函数又应该怎么做呢?

2011年03月15日 星期二 20:58

"写入不同[]里"是什么意思?

如果是从xls文件读数据的话,那么建议使用xlrd库。书中第13章有介绍。

residual函数是数据拟合时用,不是插值。如果你想对数据进行拟合,那么先确定拟合用的函数。

插值和拟合书中都有详细介绍。

2011年03月16日 星期三 09:19

代码如下:

S_F = 'd:\\database\\2011.2.15.xls'
plt.figure(figsize = (10,10))

y = [0,0.4,0.8,1.2,1.6]
x0 = np.linspace(0,1.6,100)
main = xlrd.open_workbook(S_F).sheet_by_index(0)
X0 = []
X1 = []
X2 = []
X3 = []

for i in range(1,6):
    X0.append(main.cell_value(1,i))
    X1.append(main.cell_value(2,i))
    X2.append(main.cell_value(3,i))
    X3.append(main.cell_value(4,i))
   
x = np.array([X0,X1,X2,X3])

for i in range(0,3):
    plt.plot(y,x[i,:],'^',label='%d'%i)
    f = interpolate.interp1d(y,x[i,:],kind='quadratic')
    xnew = f(x0)
    plt.plot(x0,xnew,label='quad')
plt.legend()

plt.show()

现在我想让4个图分别输出于一张大图的四个部分,应该怎么做?subplot部分一直不甚懂。

 

2011年03月16日 星期三 11:28

不知道你想这4幅图如何排列,按2x2的网格排列的话,在plt.plot之前添加一句:

plt.subplot(2,2,i+1)

2011年03月16日 星期三 11:40

哦这样子啊。

张老师,我想在图中使用中文,但是输出图的时候发现中文就是两个方框,这个事怎么回事啊?

 

2011年03月16日 星期三 11:42

之前有人问过这个问题:

http://www.zeuux.org/group/scipython/bbs/content/6270/

2011年03月16日 星期三 12:15

我现在想输出

plt.title('%d号试样'%i,fontproperties='STXihei')

但是输出的只有%d的值,为啥后面的汉字没有了呢?

x是一个4*4的数组,现在我要输出Y,将第一个置0,后面以X每行前一个减后一个为值,,应该怎么写?

如:x = [3,2,0]

y = [0,1,2]

2011年03月16日 星期三 20:19

字符串需要用unicode:

plt.title(u'%d号试样'%i,fontproperties='STXihei')

>>> y = np.zeros_like(x)

>>> y[:,1:] = x[:,1:]-x[:,:-1]

2011年03月25日 星期五 22:29

main = xlrd.open_workbook(S_F).sheet_by_index(0)

NameError: name 'xlrd' is not defined

请问是怎么回事?

2011年03月25日 星期五 23:04

xlrd是一个扩展模块,需要单独安装。google:xlrd python

2011年03月30日 星期三 17:52

是否可以用 类似 numpy.loadtxt('C:\...\dataXY.txt') 命令来导入 excel文件格式的数据?

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号