我正在从IDL转换为python和numpy(有点像Matlab).这是一个关于处理数据的开放性问题.也许有人可以帮忙.
我的数据的通常情况是我有一个固定的数据类,可能来自电子表格,数据库等.我试图弄清楚哪种数据结构最适合在python和numpy中使用.
我知道csv模块,可以使用csv.DictReader()来读取电子表格.这将逐行读取,并使用电子表格标题(第一行)中的正确名称创建一个字典.
f=open(file,'rU')
dat = csv.DictReader(f)
i=0
data=[] # makes an empty list
i=0
for row in dat:
data.append(row)
if i == 0 :
keys=row.keys()
print "keys"
print keys
print
i=i+1
f.close()
Run Code Online (Sandbox Code Playgroud)
首先,有很多代码可以将csv文件读入字典列表并键入密钥.有更快/更好的方式吗?
但现在,我想知道一系列字典是否真的是我想要的.我应该制作一类对象并使其成为一个对象数组吗?或者是其他东西?
如果我有我的字典数组,"数据",我会得到一些"列",如age = array([dat ["age"] for data in data])
这是正确的方法吗?有没有像"年龄=数据 - >年龄"那样更快的做法?
会很感激一些指导.谢谢.
如果您正在使用电子表格类型的数据,我强烈建议使用pandas,一个专为此类设计的Python包.你这样做:
pandas.read_csv(file)
Run Code Online (Sandbox Code Playgroud)
这给你一个DataFrame,它做各种花哨的索引,并且很好而且快速.
| 归档时间: |
|
| 查看次数: |
1315 次 |
| 最近记录: |