Tag: python

更改Pandas中列的数据types

我想将一个表格(表示为列表清单)转换为Pandas DataFrame。 作为一个非常简单的例子: a = [['a', '1.2', '4.2'], ['b', '70', '0.03'], ['x', '5', '0']] df = pd.DataFrame(a) 什么是最好的方式将列转换为适当的types,在这种情况下,列2和3为浮动? 有没有办法在转换为DataFrame时指定types? 或者是最好先创buildDataFrame,然后遍历列来更改每列的types? 理想情况下,我想以dynamic的方式做到这一点,因为可以有数百个列,我不想明确指定哪些列是哪种types。 我只能保证每列都包含相同types的值。

Unicode(UTF-8)读取和写入Python文件

理解阅读和写文本到一个文件(Python 2.4),我有一些脑力衰竭。 # The string, which has an a-acute in it. ss = u'Capit\xe1n' ss8 = ss.encode('utf8') repr(ss), repr(ss8) (“u'Capit \ xe1n'”,“'Capit \ xc3 \ xa1n'”) print ss, ss8 print >> open('f1','w'), ss8 >>> file('f1').read() 'Capit\xc3\xa1n\n' 所以我inputCapit\xc3\xa1n到我最喜欢的编辑器中,在文件f2中。 然后: >>> open('f1').read() 'Capit\xc3\xa1n\n' >>> open('f2').read() 'Capit\\xc3\\xa1n\n' >>> open('f1').read().decode('utf8') u'Capit\xe1n\n' >>> open('f2').read().decode('utf8') u'Capit\\xc3\\xa1n\n' 我在这里不了解什么? 显然有一些重要的魔法(或者说是有意义的)我失踪了。 一个人input到文本文件中以获得正确的转换? 我真的没有在这里讨论什么,UTF-8的代表性是什么,如果你真的不能让Python认出它,当它来自外部。 也许我应该只是JSON转储string,并使用它,因为它有一个asciiable表示! […]

从string列表中删除空string

我想从Python中的string列表中删除所有空string。 我的想法是这样的: while '' in str_list: str_list.remove('') 有没有更pythonic的方式来做到这一点?

在Python中获取列表的最后一个元素

在Python中,你如何得到列表的最后一个元素?

Python Selenium WebDriver。 写我自己的预期条件

我试图写我自己的预期条件。 我需要什么…我有一个iframe。 而且我也有一个形象。 当图像的scr会改变时,我想继续处理。 我做了什么: class url_changed_condition(object): ''' Checks whether url in iframe has changed or not ''' def __init__(self, urls): self._current_url, self._new_url = urls def __call__(self, ignored): return self._current_url != self._new_url 后来在代码中我有: def process_image(self, locator, current_url): try: WebDriverWait(self.driver, 10).until(ec.presence_of_element_located((By.TAG_NAME, u"iframe"))) iframe = self.driver.find_element(*locator) if iframe: print "Iframe found!" self.driver.switch_to_frame(iframe) WebDriverWait(self.driver, 10).until(ec.presence_of_element_located((By.XPATH, u"//div"))) # WebDriverWait(self.driver, […]

在Python中已经定义的variables之后如何更改variables

我想添加或减去一个定义的variables,但我不知道如何覆盖旧的值与新的。 a = 15 def test(): a = a +10 print ( a ) test() 错误信息: Traceback (most recent call last): File "test.py", line 7, in <module> test() File "test.py", line 4, in test a = a +10 UnboundLocalError: local variable 'a' referenced before assignment

不能修改循环中的列表元素Python

在循环遍历Python中的列表时,我无法修改没有列表理解的元素。 以供参考: li = ["spam", "eggs"] for i in li: i = "foo" li ["spam", "eggs"] li = ["foo" for i in li] li ["foo", "foo"] 那么,为什么我不能通过Python中的循环来修改元素呢? 肯定有一些我错过了,但我不知道是什么。 我相信这是重复的,但我无法find一个关于这个问题的问题,如果有一个链接,这将是绰绰有余。 先谢谢你!

从电子邮件parsingdate和时区?

我正试图从电子邮件中检索date。 起初很简单: message = email.parser.Parser().parse(file) date = message['Date'] print date 我收到: 'Mon, 16 Nov 2009 13:32:02 +0100' 但我需要一个很好的date时间对象,所以我使用: datetime.strptime('Mon, 16 Nov 2009 13:32:02 +0100', '%a, %d %b %Y %H:%M:%S %Z') 这会引发ValueError, since %Z isn't format for +0100 。 但是我无法在文档中find正确的时区格式,区域只有%Z 。 有人可以帮我吗?

`input`和`raw_input`之间的区别

在教程中,我读到了input和raw_input之间的区别。 我发现他们改变了Python 3.0中这些函数的行为。 什么是新的行为? 为什么在python控制台解释这个 x = input() 发送一个错误,但如果我把它放在一个file.py并运行它,它不?

是否可以修改文件中的行?

是否有可能一行一行地parsing一个文件,并通过这些行就地编辑一行?