numpy库的常用命令 (一)

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()




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

allen wy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值