np.random.seed理解
今天继续看论文代码,查了一下np.random.seed()和random.seed()方法的具体理解,感觉甚为有趣特此记录。
每次设置完np.random.seed()和random.seed()后,都可以保证在之后取随机数时都取到同一组数据。
在一篇博客下看到这样一句话:seed()是设置了一条世界线。细细想来甚为有趣,如:seed(10),则表示之后取的随机数都是编号10数组中的随机数,可以理解编号10数组中有很多很多个随机数,依次向后取数。
如果seed()中不填值,则会根据时间来选择某个数组。
下面是在jupyter notebook上的验证:
np.random.seed()
random.seed()
Python中tables库
python中的tables库,也称为PyTables库。PyTables是一个用于管理分层数据集的软件包,旨在高效、轻松地处理大量数据。PyTables使用Python语言和NumPy包在HDF5库的顶部构建。它具有面向对象的界面,并结合了对代码的性能至关重要的部分(使用Cython生成)的C扩展,使其成为一种快速但极其易于使用的工具,用于交互式地浏览,处理和搜索大量的数据。PyTables的一个重要功能是它优化了内存和磁盘资源,因此与其他解决方案(如关系型面向对象的数据库)相比,数据占用的空间要少得多。[这一大段话就是官方网的介绍直接Google网页翻译得来的]。
具体教程,官网也给了方法的说明和样例,甚为详细。官方文档
同时,知乎上的一篇文章对于理解tables库也有帮助,但举的例子的相关语法与官方库不一致,可以看一下大体的介绍,但是具体方法建议参考官方文档。
Python中for-else的用法
第一次看到有点懵逼,在此记录一下:
for i in range(5):
print("ok")
if(i==3):
break
else:
print("sorry")
如果for循环正常结束,则执行else其中的内容;如果for循环非正常结束(break掉了),则不执行else其中内容。