当在合理大的管道上运行numpy时,我收到类似这样的警告.
RuntimeWarning:在true_divide中遇到无效值
RuntimeWarning:遇到更大的无效值
除了编写几十个打印语句之外,如何在代码中找到它们的位置?
Python 2.7和numpy 1.8.1
刚开始使用R.与任何语言一样,我希望能够以交互方式快速地完成程序.
我经常写一些像(伪代码)的东西
get_char(char)
if (char == 'q') {return}
if (char == 'a') {list.append(blah)}
if (char is anything else) {just move along}
Run Code Online (Sandbox Code Playgroud)
q用于退出,a用于追加,它们都在我的左手在键盘上,所以这是尽可能快.
我在RI看到可以使用
char=readline("Type a character and hit Enter")
Run Code Online (Sandbox Code Playgroud)
但我当然要按回车.有没有办法在R中获得一个角色?
我正在从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])
这是正确的方法吗?有没有像"年龄=数据 - >年龄"那样更快的做法?
会很感激一些指导.谢谢.
有人可以解释这个奇怪的python行为吗?显然字符串'test'不包含'Bid'或'Ask'.为什么这匹配?
import re
pat=r'[Bid|Ask]'
reg=re.compile(pat)
if reg.search('test'): print "matched!"
Run Code Online (Sandbox Code Playgroud)
......匹配!