Python 熊猫数据帧分割的性能非常慢

Python 熊猫数据帧分割的性能非常慢,python,pandas,optimization,Python,Pandas,Optimization,我目前正在研究一些简单的数据帧,在测量了它的性能之后,我遇到了一些奇怪的行为。以下是有问题的代码片段: import pandas as pd import time df = pd.DataFrame(0, index=list(range(6)), columns=['rand', 'result']) df['rand'] = [0.15, 0.07, 0.74, 0.37, 0.54, 0.07] time_start = time.time() df['result'] = df[

我目前正在研究一些简单的数据帧,在测量了它的性能之后,我遇到了一些奇怪的行为。以下是有问题的代码片段:

import pandas as pd
import time

df = pd.DataFrame(0, index=list(range(6)), columns=['rand', 'result'])
df['rand'] = [0.15, 0.07, 0.74, 0.37, 0.54, 0.07]

time_start = time.time()
df['result'] = df['rand'] / 2 #Here lays the problem
time_end = time.time()
print ('Generating calulation took: %.7f sec' % (time_end - time_start))

一切都很好,但性能比坏还要差。这个简单的计算大约需要0.7秒。对于单次使用,这是可以接受的,但它是许多实例类构造函数的一部分,因此它是完全不可接受的。有没有办法优化这段代码?

这句话在我的旧2013 Mac上运行需要138µs。到底有什么问题?老实说,我不知道。运行此代码后,我的性能超过0.6秒。这完全是奇怪的,因为在这个数据帧的另一个地方,我执行非常类似的除法,而且它是在没有时间的情况下生成的。什么Python和Pandas版本?我在repl.It上得到了大约0.002秒,这已经非常慢了,但是离你报告的0.7秒的时间还差得远。你能用
ndarray
df.rand.values/2