python数据分析经典案例,python数据分析简单例子

  python数据分析经典案例,python数据分析简单例子

  加速Python

  运算速度对于生物信息学来说非常重要,因为在大多数情况下,我们需要自己编写代码来提取数据和处理格式。另外,信息生成领域的原始数据往往是上千万行,至少需要上万行的基因标注,所以尽快得到想要的结果是大佬们想要的。

  解释性语言(python、perl等)的平均速度。)远不如编译语言(C,C,Java等。),但是解释性语言比简单明了的语法好,代码少,效率高。他们可以快速处理数据、分析并获得结果。虽然比不上速度,但也不能自暴自弃。从数据结构到算法,他们都能加快程序的计算速度。本文不讨论算法,只通过数据结构等方面加快python的运行速度。

  以下示例代码在jupyter中测试,不同硬件配置运行速度不一致。

  字符串链接(与将列表改为字符串的原理相同)

  %%timeit

  tp=(str(i) for i in range(1000))

  strs=

  对于tp中的I:

  strs=i

  # 585 s每圈225 s(平均标准偏差。戴夫。7次运行,每次1000个循环)

  %%timeit

  tp=(str(i) for i in range(1000))

  .加入(tp)

  # 223 s每圈1.07 s(平均标准偏差。戴夫。7次运行,每次1000个循环)

  导数公式

  %%timeit

  a=[]

  对于范围内的I(1000):

  a .追加(一**2)

  # 376 s每圈2.95 s(平均标准偏差。戴夫。7次运行,每次1000个循环)

  %%timeit

  [i**2代表范围内的I(1000)]

  # 344 s每圈2.51 s(平均标准偏差。戴夫。7次运行,每次1000个循环)

  复制列表。

  %%timeit

  a=[1,2,2,12,1,1,2,1,2,1,2,12,12,1,22]

  d={}

  因为我在一个:

  d[i]=0

  钥匙()

  # 1.04 s每环路298 ns(平均标准偏差。戴夫。7次运行,每次1000000个循环)

  %%timeit

  a=[1,2,2,12,1,1,2,1,2,1,2,12,12,1,22]

  设置(一)

  # 527纳秒,每循环195纳秒(平均标准偏差。戴夫。7次运行,每次1000000个循环)

  有一阵子

  %%timeit

  a=1000

  s=0

  而0:

  s=a

  a -=1

  # 94.2秒每圈34.8秒(平均标准偏差。戴夫。7次运行,每次10000个循环)

  %%timeit

  s=0

  对于范围内的I(1000):

  s=i

  # 46.5 s每圈194 ns(平均标准偏差。戴夫。7次运行,每次10000个循环)

  查找元素(包括列表)

  %%timeit

  a=范围(1000)

  d=dict((i,1) for i in a)

  500英寸深

  # 127 s每圈43.1 s(平均标准偏差。戴夫。7次运行,每次10000个循环)

  %%timeit

  a=范围(1000)

  s=集合(a)

  500英寸

  # 21每循环79 ns(平均标准偏差。戴夫。7次运行,每次10000个循环)

  循环指数

  %%timeit

  a=范围(1000)

  对于范围内的I(len(a)):

  a[i]

  # 164 s每圈55.1 s(平均标准偏差。戴夫。7次运行,每次10000个循环)

  %%timeit

  a=范围(1000)

  对于I,v在列举(一):

  v

  # 41.6 s每圈470 ns(平均标准偏差。戴夫。7次运行,每次10000个循环)

  以上是最基础的加速方法,高级的属于第三方模块加速:1。整体python加速,用numba或者pypy(部分模块不支持);2.使用C语言实现的包加速;3.使用DASK进行熊猫式加速;4.numpy可用于加速正常数据或矩阵数据;5.IO密集型任务,使用多线程。6.使用多个进程的CPU密集型任务。对于字母生成,这是我们常用的7。加速过程中经常用到的内置包:collections、itertools等。

  上面列举的几乎每一个都可以自己写一篇长篇大论。对于数据分析或者字母生成分析,用的最多的就是数据结构要写好,其次是numpy,多进程,内置包。后面的事情以后再说吧。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: