import numpy as np
# 查看numpy的版本
np.__version__
# 自定义数组
n=np.array([[1,2,3],[2,3,4]]) # 两行三列的数组
# 自动生成有序数组
# 语法 np.arange(start,stop,step)
np.arange(10) # 生成0到9的素组 一行一列
np.arange(1,10) # 生成1到9的数组 一行一列
np.arange(1,10,2) # 生成 数组 1 3 5 7 9 一行一列
# ones 创建全为1的数组
# shape 整形或者元组
#dtype 数据类型 默认numpy.float64
n1=np.ones(3) # 一行三列
display(n1)
n2 = np.ones((4,3)) # 四行三列
display(n2)
# ones_like(obj) 创建一个与obj一样的数组
n3 = np.ones_like(n2)
display(n3)
# zeros 创建全为0的数组
n1 = np.zeros(3) # 一行三列
display(n1)
n2 = np.zeros((4,5)) # 四行五列
display(n2)
n3=np.zeros_like(n2)
display(n3)
# empty创建全为空的数组:注意,数据并不是设置为0,而是值未初始化,需要我们自己来初始化
n1 = np.ones((3,2))
n1 =None
display(n1)
n1=np.empty((3,2))
display(n1)
n2=np.empty_like(n1)
display(n2)
# full(shape,fill_value) 创建全为某个指定数据的数组
# shape 数组维度或者形状
# fill_value 指定数据
n1=np.full((4,5),2)
display(n1)
n2 = np.full_like(n1,3)
display(n2)
# eye和identity创建单位矩阵
n1 = np.eye(4)
display(n1)
n2 = np.identity(3)
display(n2)
# linspace 根据一定间隔创建等差数组
# 1,2,3,4,5
# endpoint=True 间隔 end-start/num-1
n1=np.linspace(1,51,num=51)
display(n1)
n2 = np.linspace(1,50)
display(n2)
# endpoint = False 间隔 end-start/num
n3= np.linspace(1,5,num=5,endpoint=False)
display(n3)
np.linspace? # 查看 linspace信息
# logspace 根据指数函数创建等比数组
# 1 2 4 8 logspace(start,stop,num,base) num
n1=np.logspace(0,3,num=4,base=2)
display(n1)
# time魔法命令只执行一次 一个%表示对一行 两个%% 表示对一个单元格
# timeit魔法命令是一个循环 默认7轮 ,每轮 100000次
# timeit -n 2 -r 3 初始化语句 (记住是同一行使用初始化语句) 表示三轮,每轮两次
# %time
# %%time
# %timeit
# %%timeit
# writefile
# 将单元格内容写到文件中。如果文件不存在则创建,如果文件存在,则覆盖文件。如果指定-a参数,则追加内容,不覆盖
%%writefile test.py
x=2
print('234')
%%writefile -a test.py
print(x=1)
print('234')
# run 魔法命令
# 运行外部的python文件,运行结束后,外部文件中定义的变量得到保留
# 格式: %run 文件路径
%run test.py
# memit
# 分析语句内容使用情况,memit支持行模式与单元格模式。单元格模式下,初始化语句不会参与计算内存。第二行至整个单元格末尾会参与计算内存
# 说明:
# memit不是ipython内置,需要安装memory_profiler模块(pip install memory_profiler)
# 安装后,需要通过 %load_ext memory_profiler 载入,才能使用
%load_ext memory_profiler
def ml():
print('hello world')
%memit ml() # 测试ml函数的内容使用情况 单元格
%memit x=2 # 测试变量x的内容使用情况 行
# mprun
# 分析每行语句内存使用情况,分析结果如下:
# line 行号
# Mem usage 内存使用大小
# increment 内存增量
# Line content 代码内容
# 说明:
# memit不是ipython内置,需要安装memory_profiler模块(pip install memory_profiler)
# 安装后,需要通过 %load_ext memory_profiler 载入,才能使用
# mprun测试的函数必须定义在独立模块中,不能定义在交互式ipython环境中
# 如果需要重新加载模块,可以调用importlib模块提供reload函数实现
# test2.py无的话就创建,有的话就覆盖里面的内容 参数-a表示追加
%%writefile test2.py
def m():
li1 = [i for i in range(20000)]
li2 = [i for i in range(20000)]
%load_ext memory_profiler
import test2
# 如果修改代码后,想要再次导入代码所在的模块成功,需要使用importlib模块的relaod方法
import importlib
importlib.reload(test2)
# mprun 语法 %mprun -f 分析函数 执行语句
%mprun -f test2.m test2.m()
numpy库的常用命令 (一)
最新推荐文章于 2024-06-10 09:34:45 发布