小编Chr*_*ier的帖子

将pandas DateTimeIndex转换为Unix时间?

将pandas DateTimeIndex转换为(可迭代的)Unix时间的惯用方法是什么?这可能不是要走的路:

[time.mktime(t.timetuple()) for t in my_data_frame.index.to_pydatetime()]
Run Code Online (Sandbox Code Playgroud)

python pandas

49
推荐指数
3
解决办法
5万
查看次数

为什么repr(int)比str(int)更快?

我想知道为什么repr(int)比快str(int).使用以下代码段:

ROUNDS = 10000

def concat_strings_str():
    return ''.join(map(str, range(ROUNDS)))

def concat_strings_repr():
    return ''.join(map(repr, range(ROUNDS)))

%timeit concat_strings_str()
%timeit concat_strings_repr()
Run Code Online (Sandbox Code Playgroud)

我得到了这些时间(python 3.5.2,但与2.7.12的结果非常相似):

 1.9 ms ± 17.9 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
 1.38 ms ± 9.07 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
Run Code Online (Sandbox Code Playgroud)

如果我走在正确的道路上,同样的功能long_to_decimal_string就会在引擎盖下面调用.

我错了什么或者我还缺少什么?


更新:这可能没有什么用int__repr____str__方法,但之间的差异repr()str(),如int.__str__和 …

python performance python-internals

34
推荐指数
3
解决办法
2397
查看次数

python2和python3中的dict的__repr __()

我正在将一个python库从python 2移植到一个代码库(2.6,2.7和3.3+)中的python 2和3.剩下的主要问题是很多测试使用这样的东西:

def test(self):
 example = {u'foo': u'bar'}
 self.assertEqual(str(example), "{u'foo': u'bar'}")
Run Code Online (Sandbox Code Playgroud)

它在python 2中工作,但在python3中引发异常:

 AssertionError: "{'foo': 'bar'}" != "{u'foo': u'bar'}"
Run Code Online (Sandbox Code Playgroud)

除了"测试不同"之外,还有一种处理这些问题的标准方法吗?超载__repr__

python testing repr python-2.7 python-3.x

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