c语言里rands(1),最快的方法在python中生成1,000,000多个随机数_weixin_39915505的博客-程序员宅基地

技术标签: c语言里rands(1)  

Joe Kington..

13

你可以通过你最初描述的内容(生成一堆随机数并相应地相乘和分割)来加快mtrw上面发布的内容的速度......

此外,您可能已经知道这一点,但在使用大型numpy数组时,请确保就地执行操作(*=,/ =,+ =等).它在内存使用方面与大型阵列产生巨大差异,并且也会带来相当大的速度提升.

In [53]: def rand_row_doubles(row_limits, num):

....: ncols = len(row_limits)

....: x = np.random.random((num, ncols))

....: x *= row_limits

....: return x

....:

In [59]: %timeit rand_row_doubles(np.arange(7) + 1, 1000000)

10 loops, best of 3: 187 ms per loop

相比于:

In [66]: %timeit ManyRandDoubles(np.arange(7) + 1, 1000000)

1 loops, best of 3: 222 ms per loop

这不是一个巨大的差异,但如果你真的担心速度,那就是它.

只是为了表明它是正确的:

In [68]: x.max(0)

Out[68]:

array([ 0.99999991, 1.99999971, 2.99999737, 3.99999569, 4.99999836,

5.99999114, 6.99999738])

In [69]: x.min(0)

Out[69]:

array([ 4.02099599e-07, 4.41729377e-07, 4.33480302e-08,

7.43497138e-06, 1.28446819e-05, 4.27614385e-07,

1.34106753e-05])

同样,对于你的"行总和为一"部分......

In [70]: def rand_rows_sum_to_one(nrows, ncols):

....: x = np.random.random((ncols, nrows))

....: y = x.sum(axis=0)

....: x /= y

....: return x.T

....:

In [71]: %timeit rand_rows_sum_to_one(1000000, 13)

1 loops, best of 3: 455 ms per loop

In [72]: x = rand_rows_sum_to_one(1000000, 13)

In [73]: x.sum(axis=1)

Out[73]: array([ 1., 1., 1., ..., 1., 1., 1.])

老实说,即使你在C中重新实现了一些东西,我也不确定你能不能在这个问题上打败numpy ......但我可能会非常错!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39915505/article/details/117238568

智能推荐

CentOS7环境下Redis安装部署(亲测可用)_雨雪飞舞的博客-程序员宅基地_centos7 redis安装

原文连接:https://baijiahao.baidu.com/s?id=1667197295239073048&wfr=spider&for=pc安装包下载1、网上搜索redis,查找下载连接连接为http://download.redis.io/releases/redis-6.0.3.tar.gz2、使用wget下载gz包,安装成功如图所示wget http://download.redis.io/releases/redis-6.0.3.tar.gz3、下载完毕之后

mac 安装 nvm 选择node版本_燕双鹰...的博客-程序员宅基地

1、从github下载nvm仓库到cd ~/git clonehttps://github.com/nvm-sh/nvm.git2、进入 nvm目录中执行install.sh 等待执行完成 cd nvm ./install.sh3、配置nvm环境变量将下述代码复制到 ~/.bashrc,~/.profile 或~/.zshrc因为新的mac系统默认终端是zsh不再是bash,默认启动的文件是.zshrc不是.bash_profile。所以环境变量...

java queue put take_java blockingqueue原理是什么?原理详解_一盏Online的博客-程序员宅基地

你知道java当中blockingqueue原理吗?很多人表示对于blockingqueue的原理不大清楚,那么接下来就一起通过下面的文章内容来了解一下吧。blockingqueue也就是我们经常说的阻塞队列,根据blockingqueue的基本原理,可以实现Web当中的长连接聊天功能,但是,比较常用的还是用在实现生产者和消费者模式。在java当中,blockingqueue是一个接口,实现类有A...

c语言动态库怎么编译,怎么在C语言中调用C++做的动态链接库_俊英子的博客-程序员宅基地

怎么在C语言中调用C++做的动态链接库如果你有一个c++做的动态链接库.so文件,而你只有一些相关类的声明,那么你如何用c调用呢?下面是小编为大家整理的怎么在C语言中调用C++做的'动态链接库的相关内容,欢迎参考~链接库头文件:head.hclass A{public:A();virtual ~A();int gt();int pt();private:int s;};firstso.cpp#in...

移动端学习篇-2、Flex布局常见属性详解_互联网切图仔的博客-程序员宅基地

一、布局原理原理:通过给父盒子添加flex属性,来控制子盒子的排列方式注意:当父盒子设置flex属性之后,子盒子的float、clear、vertical属性都将会失效

python中定义变量和数组_python中运用ctypes库实现c风格变量的定义和调用_weixin_39619451的博客-程序员宅基地

ctypes是Python的一个外部库,提供和C语言兼容的数据类型,可以很方便地调用C DLL中的函数。ctypes的官方文档在这里。1. ctypes基本数据类型映射表参数类型预先设定好,或者在调用函数时再把参数转成相应的c_***类型。ctypes的类型对应如下:ctypes typeC typePython Typec_charchar1-character stringc_wcharwch...

随便推点

epoll的实现原理(2)_qq_41220807的博客-程序员宅基地

epoll的实现原理(2)参考自:The Implementation of epoll(3)The Implementation of epoll(4)回调函数 ep_poll_callback()前面提到的ep_insert()函数将epoll实例附加到监视文件描述符fd的等待队列,注册ep_poll_callback()为队列唤醒的回调函数。下面剖析一下这个回调函数:static...

java中clone是什么意思_关于clone:在Java中,什么是浅拷贝?_习翔宇的博客-程序员宅基地

java.util.Calendar.clone()返回"...具有相同属性的新日历"并返回"此日历的浅表副本"。这似乎不像在SO上回答的那么浅。 这个问题被标记为与语言无关,Java似乎不遵循语言无关的定义。 当我单步执行代码时,我注意到结构和元素被复制到这个新对象,而不仅仅是语言无关的结构。在Java中,什么是浅拷贝?它与Java深层副本(如果存在)有何不同?一目了然,这些字段看起来都是值类型...

oracle用户被锁定解锁,Oracle 11g中解锁被锁定的用户_今忱的博客-程序员宅基地

Oracle 11g中修改被锁定的用户:scott在安装完Oracle11g和创建完oracle数据库之后,想用数据库自带的用户scott登录,看看连接是否成功。在cmd命令中,用“sqlplus scott/ tiger”登录时,老是提示如下信息: ERROR:ORA-28000:账户已被锁定。在cmd命令提示符中可直接登录oracle,输入如下命令:sqlplus / as sysdba;接...

阿里云入选1加x ACP认证将给考生职业生涯带来助力_weixin_49195600的博客-程序员宅基地

阿里云使用普及率很高,ACP认证近期也异常火爆,从中国教育在线所获得的消息,阿里云近期入选第3批1加x,此后阶段将会在国内500所高校展开应用型人才培养,这也就意味着ACP认证作用将会尤为显著,能够为考生职业生涯发展奠定基础。阿里云丰富的技术生态体系为各领域行业企业发展提供了助力,而在这种状态下,对于相应技术问题解读以及相应问题解决等等,都成了各企业关注的重中之重,因此获得ACP认证则拥有更多进入大型企业就业的机会。从中国教育在线公布消息可知,目前阿里云已经和300余家生态企业达成了联合发展意向,202

推荐文章

热门文章

相关标签