Python笔记_第五篇_Python数据分析基础教程_相关安装和版本查看
1. IDE说明:
所有的案例用Anacoda中的Jupiter工具进行交互式讲解。
2. 版本和安装:
NumPy从如下网站安装:http://sourceforge.net/projects/numpy/files。

我们通过环境查看相关的版本。如果电脑上安装了Anaconda的话这些版本基本上都是最新版本的。
如果Anaconda的库不是最新的可以通过Prompt进行安装和更新。可以参照如下博客,非常简单。https://blog.csdn.net/xiexu911/article/details/80282440
3. 我们通过Anaconda打开Jupiter或spyder打开进行讲解。
4. 第一个简单操作:通过对比Python和NumPy的计算观察NumPy的运算速度:
from datetime import datetime
import numpy as np # 纯Python写的程序
def pythonsum(n):
a = []
b = []
c = [] for i in range(n):
a.append(i)
b.append(i)
c.append(a[i]**2 + b[i]**3)
return c # NumPy写的程序
def numpysum(n):
a = np.arange(n,dtype=object) ** 2
b = np.arange(n,dtype=object) ** 3
c = a + b
return c # 进行比较测试
size = 30000 start = datetime.now()
c1 = pythonsum(size)
delta = datetime.now()-start
print("The last 2 elements of the sum",c1[-2:])
print("PythonSum elapsed time in microsecond",delta.microseconds) start = datetime.now()
c2 = numpysum(size)
delta = datetime.now()-start
print("The last 2 elements of the sum",c2[-2:])
print("NumPySum elapsed time in microsecond",delta.microseconds) # 10000的情况下:
#The last 2 elements of the sum [999500079996, 999800010000]
#PythonSum elapsed time in microsecond 15625
#The last 2 elements of the sum [999500079996 999800010000]
#NumPySum elapsed time in microsecond 15623 # 20000的情况下:
#The last 2 elements of the sum [7998000159996, 7999200020000]
#PythonSum elapsed time in microsecond 31247
#The last 2 elements of the sum [7998000159996 7999200020000]
#NumPySum elapsed time in microsecond 0 # 30000的情况下:
#The last 2 elements of the sum [26995500239996, 26998200030000]
#PythonSum elapsed time in microsecond 46871
#The last 2 elements of the sum [26995500239996 26998200030000]
#NumPySum elapsed time in microsecond 0
我们发现越是数据大NumPy的优势就能够体现出来了。注意我们用NumPy的时候规定dtype = object是为了放置数组的溢出,这个在很多教材中都没有提及。如果不写,在数值过大的时候,数组会产生溢出,导致计算的记过不一样。
第二个简单操作:通过help查看NumPy的帮助文档:
# -*- coding: utf-8 -*-
"""
Spyder Editor This is a temporary script file.
""" import numpy as np help(np.arange) #Help on built-in function arange in module numpy.core.multiarray:
#
#arange(...)
# arange([start,] stop[, step,], dtype=None)
#
# Return evenly spaced values within a given interval.
#
# Values are generated within the half-open interval ``[start, stop)``
# (in other words, the interval including `start` but excluding `stop`).
# For integer arguments the function is equivalent to the Python built-in
# `range <http://docs.python.org/lib/built-in-funcs.html>`_ function,
# but returns an ndarray rather than a list.
#
# When using a non-integer step, such as 0.1, the results will often not
# be consistent. It is better to use ``linspace`` for these cases.
#
# Parameters
# ----------
# start : number, optional
# Start of interval. The interval includes this value. The default
# start value is 0.
# stop : number
# End of interval. The interval does not include this value, except
# in some cases where `step` is not an integer and floating point
# round-off affects the length of `out`.
# step : number, optional
# Spacing between values. For any output `out`, this is the distance
# between two adjacent values, ``out[i+1] - out[i]``. The default
# step size is 1. If `step` is specified as a position argument,
# `start` must also be given.
# dtype : dtype
# The type of the output array. If `dtype` is not given, infer the data
# type from the other input arguments.
#
# Returns
# -------
# arange : ndarray
# Array of evenly spaced values.
#
# For floating point arguments, the length of the result is
# ``ceil((stop - start)/step)``. Because of floating point overflow,
# this rule may result in the last element of `out` being greater
# than `stop`.
#
# See Also
# --------
# linspace : Evenly spaced numbers with careful handling of endpoints.
# ogrid: Arrays of evenly spaced numbers in N-dimensions.
# mgrid: Grid-shaped arrays of evenly spaced numbers in N-dimensions.
#
# Examples
# --------
#np.arange(3)
# array([0, 1, 2])
#np.arange(3.0)
# array([ 0., 1., 2.])
#np.arange(3,7)
# array([3, 4, 5, 6])
#np.arange(3,7,2)
# array([3, 5])
Python笔记_第五篇_Python数据分析基础教程_相关安装和版本查看的更多相关文章
- Python笔记_第五篇_Python数据分析基础教程_前言
1. 前言: 本部分会讲解在Python环境下进行数值运算.以NumPy为核心,并讲解其他相关库的使用,诸如Matplotlib等绘图工具等. C.C++和Forttran等变成语言各有各的优势,但是 ...
- Python笔记_第五篇_Python数据分析基础教程_文件的读写
1. 读写文件(基本) savetxt.loadtxt i2 = np.eye(2) print(i2) np.savetxt(r"C:\Users\Thomas\Desktop\eye.t ...
- Python笔记_第五篇_Python数据分析基础教程_NumPy基础
1. NumPy的基础使用涵盖如下内容: 数据类型 数组类型 类型转换 创建数组 数组索引 数组切片 改变维度 2. NumPy数组对象: NumPy中的ndarray是一个多维数组对象,该兑现共有两 ...
- Python学习笔记【第五篇】:基础函数
一.函数:函数定义关键字def 后跟函数名称 def 函数名(参数): ... 函数体 ... 返回值 案例: # 定义函数 def say_hei( ...
- Python数据分析基础教程
Python数据分析基础教程(第2版)(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1_FsReTBCaL_PzKhM0o6l0g 提取码:nkhw 复制这段内容后 ...
- Python 3基础教程1-环境安装和运行环境
本系列开始介绍Python3的基础教程,为什么要选中Python 3呢?之前呢,学Python 2,看过笨方法学Python,学了不到一个礼拜,就开始用Python写Selenium脚本.最近看到一些 ...
- Python全栈开发记录_第五篇(装饰器)
单独记录装饰器这个知识点是因为这个知识点是非常重要的,必须掌握的(代码大约150行). 了解装饰器之前要知道三个知识点 作用域,上一篇讲到过顺序是L->E->G->B 高阶函数: 满 ...
- Python笔记(二十五)_魔法方法_描述符
描述符的属性方法 __get__(self, instance, owner): 用于访问属性,返回属性的值 __set__(self, instance, value): 用于给属性赋值时,返回属性 ...
- [Python笔记]第十六篇:web框架之Tornado
Tornado是一个基于python的web框架,xxxxx 安装 python -m pip install tornado 第一个Tornado程序 安装完毕我们就可以新建一个app.py文件,放 ...
随机推荐
- decompiler of java
运维了两个java项目,但是没有源代码,整天都是各种问题,各方面都不配合.我也只是个小小的兵,但是工作还是要做. 转机 偶然想试一试decomplier,就找到了gd-gui,感觉用着挺好的,到把项目 ...
- 采用FLAG_ACTIVITY_CLEAR_TOP退出整个程序(多activity)
问题: 多activity中退出整个程序,例如从A->B->C->D,这时我需要从D直接退出程序. 网上资料:{ finish()和system(0)都只能退出单个activity. ...
- 使用vue框架开发前端项目的步骤
前端项目的开发 1. 本地安装nodejs https://nodejs.org/en/download/ 2. 测试安装 > node -v 3. 本地安装git > git --ver ...
- Redis详解(三)——事务
Redis详解(三)--事务 Redis事务的概念: Redis 事务的本质是一组命令的集合.事务支持一次执行多个命令,一个事务中所有命令都会被序列化.在事务执行过程,会按照顺序串行化执行队列中的命令 ...
- 053、Java中使用for循环实现1~100的累加
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- 015、MySQL取今天是第几季度,往后几个月是第几季度
#取今天是第几季度 SELECT QUARTER( curdate( ) ); #取往后几个月是第几季度 , INTERVAL MONTH ) ); , INTERVAL MONTH ) ); , I ...
- 01.Delphi最简单的接口
我想学习一个插件框架,但是那个框架里面大量用到了接口,于是不得不把接口看一下了.总感觉接口编程这一块非常的绕,每一行都注释了. unit Unit1; interface uses Windows, ...
- JAVA实现数组的反转--基础
直接上代码 这个算法比较简单,唯一需要注意的就是第8行和第9行.一定要多减去1 因为for循环从0开始,而数组长度是从0到length-1的. class ArrReverse { //实现数组元素的 ...
- ES6 之 Object 的方法总结
阅读:Object 1.obj的"." 或 "[]"方法 读取对象的属性或方法 对象属性的读取:ES6中被Proxy的get(target, propKey, ...
- C#获取屏幕的宽度和高度
//1.在屏幕的右下角显示窗体 //这个区域不包括任务栏的 Rectangle ScreenArea = System.Windows.Forms.Screen.GetWorkingArea(this ...