当前位置: 首页 > news >正文

numpy基础知识2

  1. broadcast_to () 函数

    import numpy as np
    a =np.arange (4) .reshape (1, 4)
    print ('原数组:')
    print (a)
    print ('\n')
    print ('调用broadcast_to 函数之后:')
    print (np.broadcast_to (a, (4, 4)))
    
  2. expand_dims () 函数:用于扩展数组的形状。

    x = np.arange(1,5).reshape((2,2))
    print(x)
    print(x.shape, x.ndim)
    [[1 2]
    [3 4]]
    (2,2) 2
    y = np.expand_dims(x, axis=0)
    print(y)
    print(y.shape, y.ndim)
    [[[1 2]
    [3 4]]]
    (1, 2,2) 3
    
  3. squeeze () 函数

    import numpy as npx= np.arange(1, 10) .reshape((1, 3, 3))
    print(x)
    print(x.shape, x.ndim)
    [[[1 2 3]
    [4 5 6]
    [7 8 9]]]
    (1, 3, 3) 3
    y =np.squeeze(x)
    print(y)
    print(y.shape, y.ndim)
    [[1 2 3]
    [4 5 6]
    [7 8 9]]
    (3, 3) 2
    
    x= np.arange(1, 13) .reshape((1,1,3,4))
    print(x)
    print(x.shape, x.ndim)
    [[[[ 1  2  3  4]
    [ 5  6  7  8]
    [ 9 10 11 12]]]]
    (1, 1, 3, 4) 4
    y = np.squeeze(x)
    print(y)
    print(y.shape, y.ndim)
    [[ 1  2  3  4]
    [ 5  6  7  8]
    [ 9 10 11 12]]
    (3, 4) 2
    

数组操作之连接数组 

import numpy as np
a =np.array([[1,2], [3, 4]])
print('第一个数组:')
print (a)
print ('\n')
b= np.array([[5, 6], [7, 8]])
print ('第二个数组:')
print (b)
print ('\n')
print('沿轴0 堆叠两个数组:')
print (np.stack((a, b),0))
print ('\n')
print('沿轴1 堆叠两个数组:')
print (np.stack((a, b),1))
  1. hstack () 函数:通过水平堆叠来生成数组。

    x= np.arange(4) .reshape((2,2))
    print(x)
    print("\n")
    y = np.arange(4, 8) .reshape((2,2))
    print(y)
    print("\n")
    a = np.hstack((x,y))
    print(a)
    print(a.shape, a.ndim)
    
  2. vstack () 函数:通过垂直堆叠来生成数组。

    运行

    import numpy as np
    a =np.array([[1,2], [3, 4]])
    print ('第一个数组:')
    print (a)
    print ('\n')
    b = np.array ([[5, 6], [7, 8]])
    print ('第二个数组:')
    print (b)
    print ('\n')
    print('竖直堆叠:')
    c = np.vstack ((a, b))
    print (c)
    

数组操作之分割数组

  1. split () 函数

    x= np.arange(12) .reshape(3, 4)
    print(x)
    print("\n")
    a = np.split(x, 3)
    print(a)
    
    x = np.arange (12) .reshape(3, 4)
    print(x)
    print("\n")
    a = np.split(x, 2, axis=1)
    print(a)
    
  2. hsplit () 函数:用于水平分割数组。

  3. vsplit () 函数:用于垂直分割数组。

    x= np.arange (12) .reshape(2, 6)
    print(x)
    print("\n")
    a = np.vsplit(x, 2)
    print(a)
    

数组操作之数组元素的添加与删除

  1. resize () 函数

    import numpy as np
    a =np.array([[1,2,3], [4,5,6]])
    print('第一个数组:')
    print (a)
    print ('\n')
    print('第一个数组的形状:')
    print (a.shape)
    print ('\n')
    b = np.resize (a,(3, 2))
    print('第二个数组:')
    print (b)
    print ('\n')
    print('第二个数组的形状:')
    print (b.shape)
    print ('\n')
    # 要注意a 的第一行在b 中重复出现, 因为尺寸变大了
    print ('修改第二个数组的大小:')
    b = np.resize (a, (3, 3))
    print (b)
    
  2. append () 函数

    • 示例代码:

    运行

    import numpy as np
    a =np.array([[1,2,3], [4, 5,6]])
    print ('第一个数组:')
    print (a)
    print ('\n')
    print('向数组添加元素:')
    print (np.append(a, [7, 8,9]))
    print ('\n')
    print('沿轴0 添加元素:')
    print (np.append(a, [[7, 8,9]],axis=0))
    print ('\n')
    print('沿轴1 添加元素:')
    print (np.append(a, [[5,5,5],[7, 8,9]],axis =1))
    
  3. insert () 函数

    import numpy as np
    a =np.array([[1,2], [3, 4], [5, 6]])
    print ('第一个数组:')
    print(a)
    print ('未传递 Axis 参数。在删除之前输入数组会被展开。')
    print (np.insert (a, 3, [11,12]))
    print ('\n')
    print ('传递了 Axis 参数。会广播值数组来配输入数组。')
    print('沿轴0 广播:')
    print (np.insert (a, 1, [11], axis=0))
    print ('\n')
    print('沿轴1 广播:')
    print (np.insert (a, 1,11,axis =1))
    
  4. delete () 函数

    import numpy as np
    a = np.arange (12) .reshape (3, 4)
    print ('第一个数组:')
    print (a)
    print ('\n')
    print ('未传递 Axis 参数。在插入之前输入数组会被展开。')
    print (np.delete (a, 5))
    print ('\n')
    print('删除第二列:')
    print (np.delete(a, 1, axis =1))
    print ('\n')
    
  5. unique () 函数

    import numpy as np
    x = np.array([1,2,3,4,5,6,7,8,9,10,2 ,11,2,33,3,4])
    print("x数组:")
    print(x)
    print("\n")
    print(x.size)
    a = np.unique(x)
    print(a)
    print(a.size)
    
  • add():连接字符串

import numpy as np
print(np.char.add(['hello'],[' 333']))
print(np.char.add(['hello','hi'],['111','222']))
  • multiply():重复字符串

运行

import numpy as np
print(np.char.multiply('good',3))
  • center():居中字符串并填充

运行

import numpy as np
print(np.char.center('good',20,fillchar='*'))

 

  • capitalize():首字母大写

运行

import numpy as np
print(np.char.capitalize('i am very beautiful'))

 

  • title():每个单词首字母大写

运行

import numpy as np
print(np.char.title('i am very beautiful'))

 

  • lower():转为小写

运行

import numpy as np
print(np.char.lower(['NICE','GOOD']))
print(np.char.lower('GOOD'))

 

  • upper():转为大写

运行

import numpy as np
print(np.char.upper(['good','nice']))
print(np.char.upper('good'))

 

  • split():分割字符串

运行

import numpy as np
print(np.char.split('i am very beautiful'))
print(np.char.split('www.xiqianyangyi.com',sep='.'))

 

  • splitlines():按换行分割

运行

import numpy as np
print(np.char.splitlines('i\nam very beautiful'))

 

  • strip():移除首尾字符

运行

import numpy as np
print(np.char.strip('ashok arunooba','a'))
print(np.char.strip(['arunooba','admin','java'],'a'))

 

  • join():连接字符串

运行

import numpy as np
print(np.char.join(':','good'))
print(np.char.join([':','-'],['good','nice']))

 

  • encode()/decode():编码 / 解码

运行

import numpy as np
a=np.char.encode('good','cp500')
print(a)
print(np.char.decode(a,'cp500'))

数学函数

  • 三角函数

运行

import numpy as np
a=np.array([0,30,45,60,90])
print(np.sin(a*np.pi/180))
print(np.cos(a*np.pi/180))
print(np.tan(a*np.pi/180))

 

  • around():四舍五入

运行

import numpy as np
a=np.array([1.0,5.55,123,0.567,25.532])
print(np.around(a))
print(np.around(a,decimals=2))
print(np.around(a,decimals=-1))

 

  • ceil():向上取整

运行

import numpy as np
a=np.array([-1.7,1.5,-0.2,0.6,10])
print(np.ceil(a))

算数函数

  • 加减乘除

运行

import numpy as np
a=np.arange(9,dtype=np.float_).reshape(3,3)
b=np.array([10,10,10])
print(np.add(a,b))
print(np.subtract(a,b))
print(np.multiply(a,b))
print(np.divide(a,b))

 

  • reciprocal():倒数

运行

import numpy as np
a=np.array([0.25,0.2,1,100.])
print(np.reciprocal(a))

 

  • mod()/remainder():取余

import numpy as np
a=np.array([10,20,30])
b=np.array([3,5,7])
print(np.mod(a,b))
print(np.remainder(a,b))

 

 

http://www.lryc.cn/news/610205.html

相关文章:

  • 《P1462 通往奥格瑞玛的道路》
  • 图的存储方式-邻接表
  • 超急评估:用提前计算分摊性能成本
  • C + +
  • 机器学习(12):拉索回归Lasso
  • Linux环境下(Ubuntu)Fortran语言如何安装配置NetCDF
  • Integer Types Range and varieties
  • QT:交叉编译mysql驱动库
  • MySQL进阶:(第八篇)深入解析InnoDB存储架构
  • 如何手动打包 Linux(麒麟系统)的 Qt 程序
  • Linux 系统启动原理
  • 通用代码自用
  • [硬件电路-156]:什么是电信号? 电信号的本质:电信号是随时间变化的电压或电流。本质是电子运动表征信息,兼具能量传输与信息编码传递功能。
  • 开源网页生态掘金:从Bootstrap二次开发到行业专属组件库的技术变现
  • 多线程(一)
  • 【Spring AI快速上手 (二)】Advisor实现对话上下文管理
  • 【计算机网络 | 第2篇】计算机网络概述(下)
  • 如何使用 DBeaver 连接 MySQL 数据库
  • 移动端 WebView 视频无法播放怎么办 媒体控件错误排查与修复指南
  • SAP-ABAP:ABAP Open SQL 深度解析:核心特性、性能优化与实践指南
  • 深入剖析Java Stream API性能优化实践指南
  • Mybatis 简单练习,自定义sql关联查询
  • 卸油管链接检测误检率↓76%:陌讯多模态融合算法实战解析
  • Dbeaver数据库的安装和使用(保姆级别)
  • 基于FAISS和Ollama的法律智能对话系统开发实录-【大模型应用班-第5课 RAG技术与应用学习笔记】
  • Ubuntu系统VScode实现opencv(c++)图像一维直方图
  • 机器学习【六】readom forest
  • 微服务配置管理:Spring Cloud Alibaba Nacos 实践
  • 电子电气架构 ---智能电动汽车嵌入式软件开发过程中的block点
  • Nginx服务做负载均衡网关