【发布时间】:2015-07-08 18:11:39
【问题描述】:
我有一个包含 200K 行的大文件,我需要通过计算每行中不同的单词来找出滚动中位数。
我使用 numpy 计算中位数如下
a = np.array([])
np.insert(a, 0, len(unique_word_list_by_line))
median = np.median(a)
我觉得这效率不高,因为每次我插入一个元素时 numpy 都会创建一个新数组。有没有办法将元素插入到 numpy 数组中?
谢谢
【问题讨论】:
-
“numpy 比其他统计软件包更好......”这个问题并不适合 SO。太模糊了:有太多的包可以比较。听起来您正在寻找的是帮助优化您的代码。你所拥有的非常未经优化。考虑重写您的问题,就如何优化代码征求建议。特别是,您对
np.insert的使用非常慢,因为 numpy 每次迭代都必须创建一个新数组。 -
感谢您的 cmets,我已经更新了问题
-
您的示例代码中是否缺少
for循环?
标签: python numpy pandas scipy median