如何加快Pandas DataFrame计算除以常数?

时间:2017-01-11 07:20:18

标签: python pandas

我line_profile我的函数,发现瓶颈在线下,它将数据帧df的列值除以100:

df.iloc[:,2:6] = df.iloc[:,2:6]/100.0

要加快速度吗?

1 个答案:

答案 0 :(得分:1)

我的时间:

np.random.seed(100)
N = 10000000
df = pd.DataFrame(np.random.randint(1000, size=(N,7)), columns=list('ABCDEFG'))
print (df)

In [79]: %timeit df.iloc[:, 2:6].div(100)
1 loop, best of 3: 221 ms per loop

In [80]: %timeit df.iloc[:, 2:6] / 100
1 loop, best of 3: 219 ms per loop

In [81]: %timeit df.iloc[:, 2:6] / 100.0
1 loop, best of 3: 205 ms per loop

In [82]: %timeit df.iloc[:, 2:6] * 0.01
1 loop, best of 3: 180 ms per loop