小编elg*_*lge的帖子

为日期时间和布尔值指定正确的pandas.read_csv dtypes

我正在将一个csv文件加载到Pandas DataFrame中.对于每列,如何使用dtype参数指定它包含的数据类型?

  • 我可以用数字数据(底部的代码)来做...
  • 但是如何指定时间数据......
  • 分类数据,如因素或布尔值?我曾尝试np.bool_pd.tslib.Timestamp没有运气.

码:

import pandas as pd
import numpy as np
df = pd.read_csv(<file-name>, dtype={'A': np.int64, 'B': np.float64})
Run Code Online (Sandbox Code Playgroud)

python csv types type-conversion pandas

18
推荐指数
1
解决办法
4万
查看次数

在 Heroku 日志中显示 Python 异常错误

我有一个用 Python 编写的 Heroku 应用程序。当它失败时,它不会记录任何内容,只是在失败的位置停止代码执行(它不会执行下面的打印语句),然后继续运行,什么也没有发生。

如何在日志中显示异常错误和回溯?使用该raise语句引发异常时的行为是否有所不同?

我在配置文件中设置了以下内容:

DEBUG = True
PRESERVE_CONTEXT_ON_EXCEPTION = True
Run Code Online (Sandbox Code Playgroud)

试过和不试PRESERVE_CONTEXT_ON_EXCEPTION

error-logging exception-handling heroku

5
推荐指数
1
解决办法
872
查看次数

使用 Python 解析北欧格式日期(首先是 DMY,然后是 YMD)的最佳方法

我正在寻找一种按优先顺序使用以下“元格式”来解析未知格式的日期的方法:

  1. 日-月-年 (DMY)
  2. 年月日 (YMD)
  3. 可能是其他格式(但这并不重要)

这是来自挪威、丹麦、芬兰和荷兰的几乎所有发票上实际存在的元格式,因此它应该是一个常见的用例。然而,似乎没有一个库能够在不需要定义大量可能格式的情况下处理它。

再具体一点。我需要一个方法 ( parse) 来满足以下条件: parse("01-02-03") == "datetime.datetime(2003, 2, 1, 0, 0)" parse("2003-02-01") == "datetime.datetime(2003, 2, 1, 0, 0)"

但它也应该适用于其他分隔符等。

关于如何在不定义大量格式列表的情况下实现这一点的任何建议?

编辑:由于瑞典有不同的偏好,我更喜欢一个可以概括为适用于 YMD 优于 DMY 的情况的答案。

python date-parsing

5
推荐指数
1
解决办法
2057
查看次数

OS X Yosemite上的Python解释器 - 使用哪一个?

我最近从Windows切换到Mac,安装PyCharm后我必须指定一个解释器.在下拉列表中,我可以选择3个口译员:

  1. MacintoshHD▸美国▸局部▸地窖▸python▸2.7.9▸框架▸Python.framework▸版本▸2.7▸bin
  2. MacintoshHD▸系统▸库▸框架▸Python.framework▸版本▸2.7▸bin
  3. MacintoshHD▸系统▸库▸框架▸Python.framework▸版本▸2.6▸bin

(实际上我可以看到最后一个文件夹中还有版本2.5和2.3,但这些在PyCharm中没有显示).

但是,如果我键入python终端然后键入

import sys
print sys.executable
Run Code Online (Sandbox Code Playgroud)

我得到:

  1. /usr/local/opt/python/bin/python2.7

为了让它更加混乱,当我在IPython Notebook中键入相同的东西(从终端使用ipython notebook)时,我得到:

  1. /usr/bin/python

问题:

  • 如果我想使用Python 2.7(我有3个选择),我应该使用哪一个?
  • 如何在这些解释器之间导航(如果我想pip install在不同的解释器上)?

python osx-yosemite

4
推荐指数
1
解决办法
3460
查看次数