Tag: python

NumPy或Pandas:保持数组types为整数,同时具有NaN值

是否有一个首选的方法来保持numpy数组的数据types固定为int (或int64或其他),同时还有一个列表中的元素列为numpy.NaN ? 特别是,我将内部数据结构转换为Pandas DataFrame。 在我们的结构中,我们有整数types的列仍然有NaN(但列的dtype是int)。 如果我们把这个数据框设置成DataFrame的话,似乎所有东西都会重新浮动,但我们真的很想成为int 。 思考? 事情尝试: 我尝试使用from_records()下的from_records()函数, coerce_float=False ,这没有帮助。 我也尝试使用NumPy屏蔽数组,NaN fill_value,也没有工作。 所有这些导致列数据types成为一个浮点数。

什么是__del__方法,如何调用它?

我正在阅读一个代码。 有一个类定义了__del__方法。 我发现这个方法是用来销毁类的一个实例的。 但是,我找不到使用这种方法的地方。 主要原因是我不知道如何使用这个方法,可能不是这样的: obj1.del() 。 所以,我的问题是如何调用__del__方法? 感谢您的任何帮助。

使用Python 2.7读取和写入CSV文件,包括unicode

我是Python的新手,我有一个关于如何使用Python来读取和写入CSV文件的问题。 我的文件包含像德国,法国等。根据我的代码,这些文件可以在Python中正确读取,但是当我把它写入一个新的CSV文件时,Unicode变成一些奇怪的字符。 数据如下所示: 而我的代码是: import csv f=open('xxx.csv','rb') reader=csv.reader(f) wt=open('lll.csv','wb') writer=csv.writer(wt,quoting=csv.QUOTE_ALL) wt.close() f.close() 其结果是: 你能告诉我该怎么办才能解决这个问题吗? 非常感谢你!

NaN和None有何区别?

我正在使用pandas readcsv()读取csv文件的两列,然后将值分配给字典。 这些列包含数字和字母的string。 偶尔有一些单元格是空的情况。 在我看来,读入该字典条目的值应该是None而不是nan 。 毫无疑问,空白单元格更具描述性,因为空单元格的值是空值,而nan表示读取的值不是数字。 我的理解是否正确, None与有什么区别? 为什么是nan而不是None ? 另外,我的字典检查任何空单元格已经使用numpy.isnan() : for k, v in my_dict.iteritems(): if np.isnan(v): 但这给了我一个错误,说我不能使用这个检查v 。 我想这是因为一个整数或浮点型variables,而不是一个string是为了使用。 如果这是真的,我怎么能检查一个“空细胞”/ nan案?

在Python中组合两个sorting列表

我有两个对象列表。 每个列表已经被date时间types的对象的属性sorting。 我想将这两个列表组合成一个sorting列表。 只是做一个sorting的最好方法,还是有更聪明的方法来在Python中做到这一点?

逻辑运算符,用于在Pandas中进行布尔索引

我在pandas的布尔指数工作。 问题是为什么声明: a[(a['some_column']==some_number) & (a['some_other_column']==some_other_number)] 工作正常,而 a[(a['some_column']==some_number) and (a['some_other_column']==some_other_number)] 存在错误? 例: a=pd.DataFrame({'x':[1,1],'y':[10,20]}) In: a[(a['x']==1)&(a['y']==10)] Out: xy 0 1 10 In: a[(a['x']==1) and (a['y']==10)] Out: ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Python中的项目频率计数

我是一个python新手,所以也许我的问题是很noob。 假设我有一个单词列表,我想查找每个单词出现在列表中的次数。 明显的做法是: words = "apple banana apple strawberry banana lemon" uniques = set(words.split()) freqs = [(item, words.split.count(item)) for item in uniques] print(freqs) 但是我觉得这个代码不是很好,因为这个程序通过两次单词列表运行,一次build立集合,第二次计算出现次数。 当然,我可以编写一个函数来遍历列表并进行计数,但这不会是pythonic。 那么,有没有更高效的pythonic方法?

如何使用subprocess popen Python

由于os.popen正在被subprocess.popen取代,我想知道我将如何转换 os.popen('swfdump /tmp/filename.swf/ -d') 到subprocess.popen() 我试过了: subprocess.Popen("swfdump /tmp/filename.swf -d") subprocess.Popen("swfdump %s -d" % (filename)) # NOTE: filename is a variable # containing /tmp/filename.swf 但是我想我没有把这个写出来。 任何帮助,将不胜感激。 谢谢

如何计算两个时间string之间的时间间隔

我有两次,一个开始和一个停止时间,格式为10:33:26(HH:MM:SS)。 我需要两次的区别 我一直在寻找Python的文档和在线search,我会想象它会与date时间和/或时间模块有关。 我不能让它正常工作,只有在涉及date时才能find如何做到这一点。 最终,我需要计算多个持续时间的平均值。 我得到了时间差异的工作,我把它们存储在一个列表中。 我现在需要计算平均值。 我使用正则expression式来parsing出原始时间,然后进行差异。 对于平均,我应该转换为秒,然后平均?

Selenium:FirefoxProfileexception无法加载configuration文件

根据以前的问题,我将Selenium更新到了2.0.1版。但是现在我又遇到了另一个错误,即使configuration文件存在于/tmp/webdriver-py-profilecopy : 文件“/home/sultan/Repository/Django/monitor/app/request.py”,第236行,执行 浏览器= Firefox(个人资料) 文件“/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py”,第46行,在__init__ self.binary,超时), 文件“/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py”,第46行,在__init__ self.binary.launch_browser(self.profile) 文件“/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py”,第44行,在launch_browser self._wait_until_connectable() 文件“/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py”,第87行,在_wait_until_connectable 引发WebDriverException(“无法加载configuration文件。configuration文件目录:%s”%self.profile.path) selenium.common.exceptions.WebDriverException:无法加载configuration文件。 configuration文件目录:/ tmp / webdriver-py-profilecopy 哪里不对? 我该如何解决这个问题?