python - 如何加快Pandas DataFrame除常数的计算速度?

标签 python pandas

我对我的函数进行了分析,发现瓶颈在下面的行,该行将数据帧df的列值除以100:

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

有什么加快速度的技巧吗?

最佳答案

我的时间安排:

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

关于python - 如何加快Pandas DataFrame除常数的计算速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41584896/

相关文章:

python - 向下传递参数的递归函数

python - python 中(多线程)套接字的列表/数组

python - pyautogui typewrite 不会停止打字

Python - 带有数组到 csv 文件的字典

python - 基于经度/纬度坐标数组创建用于绘图的多边形 - Python PANDA

Python 查找时间在列表中不连续

python - SCons- *** 未找到 SConstruct 文件

python - 将分类变量绘制为堆积条形图

python - Excel 文件损坏或扩展名错误错误 openpyxl & writerxlsx

python - 删除 Pandas 中所有只有 1 值的变量