首页 > 编程语言 >Python Numpy第三方库的基本使用

Python Numpy第三方库的基本使用

时间:2024-03-29 19:30:42浏览次数:15  
标签:Python print c1 np c2 array Numpy 第三方 c4

1.下载Numpy第三方库

pip install numpy

2.导入第三方库

import numpy as np

3.一些基本操作

import numpy as np
num1=np.array([1,2,3,4,5])#创建数组
print(num1)
num2=np.zeros((3,2))#创建全零数组
print(num2)
print(num2.shape)#打印数组尺寸
num3=np.ones((2,4))#创建全一数组
print(num3)
num4=np.arange(3,7)#创建一个递增或者递减的数列
print(num4)
num5=np.linspace(0,1,5)#返回指定区间内的数
print(num5)
num6=np.random.rand(2,4)#生成随机数组
print(num6)
num7=np.zeros((4,2))
print(num7.dtype)#在numpy中数组默认的数据类型为float64
num8=np.zeros((2,4),dtype=np.int32)#可以指定其他数据类型
num9=num8.astype(int)
print(num9)

4.数组的运算

 a1=np.array([1,2,3])
 a2=np.array([4,5,6])
 b1=a1+a2
 b2=a1*a2
 print(b1)#[5 7 9]
 print(b2)#[4 10 18]
 b3=np.dot(a1,a2)
 print(b3)#32

5.矩阵的运算

c1=np.array([[1,2],
            [3,4]])
c2=np.array([[2,1],
            [4,3]])
d1=np.matmul(c1,c2)# d1=c1@c2也可以表示相乘
print(d1)
#输出的结果是[[10  7]    
             [22 15]]

#解析:
# 对于输出矩阵的第 i 行第 j 列的元素 d1[i][j],它是通过将矩阵 c1 的第 i 行与矩阵 c2 的第 j 列进行对应位置的元素相乘,并将乘积相加得到的。
# 例如,矩阵 c1 和 c2 的乘法结果 d1 的计算如下:
# d1[0][0] = c1[0][0]c2[0][0] + c1[0][1]c2[1][0] = 12 + 24 = 10
# d1[0][1] = c1[0][0]c2[0][1] + c1[0][1]c2[1][1] = 11 + 23 = 7
# d1[1][0] = c1[1][0]c2[0][0] + c1[1][1]c2[1][0] = 32 + 44 = 22
# d1[1][1] = c1[1][0]c2[0][1] + c1[1][1]c2[1][1] = 31 + 43 = 15



6.其他的一些运算操作

c3=np.array([1,2,3])
d3=np.sqrt(c3)#开方
print(d3)
c4=np.array([1,2,3])
d4=np.sin(c4)#求三角函数的值
d5=np.cos(c4)
print(d4)
print(d5)
d6=np.log(c4)#进行对数运算
d7=np.power(c4,2)#进行指数运算
print(d6)
print(d7)


e1=np.max(c4)#取最大值
e2=np.min(c4)
e3=np.argmax(c4)#取最大值下标
e4=np.argmin(c4)
print(e1)
print(e2)
print(e3)
print(e4)

f1=np.sum(c4)#求和
f2=np.mean(c4)#平均数
f3=np.median(c4)#中位数
f4=np.var(c4)#方差
f5=np.std(c4)#标准差
print(f1)
print(f2)
print(f3)
print(f4)
print(f5)

7.广播的两种常见操作

d8=c4*2
print(d8)

c5=np.array([[1],
             [2],
             [3]])
d9=c4+c5
print(d9)

8.多维数组


z1=np.array([[1,2,3,4,5],
            [5,6,7,8,9]])
g1=z1.sum(axis=0)
g2=z1.sum(axis=1)
print(g1)#[ 6  8 10 12 14]
print(g2)#[15 35]
# axis=0表示第一个维度,也就是行
# axis=1表示第二个维度,也就是列

9.取值


z1=np.array([[1,2,3,4,5],
            [5,6,7,8,9]])
z2=np.arange(10)
print(z2)                     #[0 1 2 3 4 5 6 7 8 9]
print(z2[z2<3])               #[0 1 2]
print(z2[(z2<5)&(z2%2==0)])   #[0 2 4]

# 切片
print(z1[0,0:2])              #[1 2]
print(z1[0])                  #[1 2 3 4 5]
print(z2[0:9:2])              #[0 2 4 6 8]
print(z2[::-1])               #[9 8 7 6 5 4 3 2 1 0]

10.图片处理

#打开图像
import numpy as np
import PillowImage
from PIL import Image
im1=Image.open("C:/Users/31994/Pictures/Screenshots/狮子.jpeg")
im1.show()


#访问某个像素点的颜色
im1=np.array(im1)
print(im1.shape)
print(im1[100,100])

#单独提取所有像素点的红色分量
im1_r=im1[:,:,0]
Image.fromarray(im1_r).show()

#重叠两张图片
im2=Image.open("C:/Users/31994/Pictures/Screenshots/熊猫.jpeg")
im1=np.array(im1)
im2=np.array(im2)

im_blend=im1 * 0.4 + im2 * 0.6
im_blend=im_blend.astype(np.uint8)
Image.fromarray(im_blend).show()

# 翻转照片
im3=Image.open("C:/Users/31994/Pictures/Screenshots/w700d1q75cms.jpg")
im3=np.array(im3)
im3_flipped=im3[::-1,:,:]
Image.fromarray(im3_flipped).show()

#摘取该照片区域内的图像
im3_cropped=im3[40:540,400:900,:]
Image.fromarray(im3_cropped).show()

标签:Python,print,c1,np,c2,array,Numpy,第三方,c4
From: https://blog.csdn.net/XAX520_1314/article/details/137064406

相关文章

  • 文件-Python
    师从黑马程序员文件编码 不同编码,将内容翻译成二进制也是不同的查看文件编码文件的读取文件的概念文件操作内容主要包括打开,关闭,读,写文件的操作步骤open()打开函数mode常用的三种基础访问模式读操作相关方法读操作相关方法close()关闭文件对象wi......
  • 转载:记录一下python setDaemon相关
    前言使用Python都不会错过线程这个知识,但是每次谈到线程,大家都下意识说GIL全局锁,但其实除了这个老生常谈的话题,还有很多有价值的东西可以探索的,譬如:setDaemon()。线程的使用与存在的问题我们会写这样的代码来启动多线程:importtimeimportthreadingdeftest():......
  • Python数据库编程全指南SQLite和MySQL实践
    1.安装必要的库首先,我们需要安装Python的数据库驱动程序,以便与SQLite和MySQL进行交互。对于SQLite,Python自带了支持;而对于MySQL,我们需要安装额外的库,如mysql-connector-python。#安装MySQL连接器pipinstallmysql-connector-python2.连接SQLite数据库SQLite是一......
  • python处理字典之表格-城市排行榜
    #中国城市排行榜importxlrdbook=xlrd.open_workbook('city_data.xls')sheet=book.sheet_by_index(0)main_data_list=[]forrowinrange(3,sheet.nrows):temp_dict={}#print(sheet.row_values(row))temp_dict["城市"]=sheet.row_values(row......
  • python根据达芬奇场景分析保存的edl文件,智能裁切输出4K视频画面(不带声音)-自动找到MP
    使用前先将mp4对应的EDL文件命名为相同的名字,如:春天.mp4,春天.edl只处理持续时间大于5帧的画面批量处理指定文件夹下所有文件,处理失败的直接跳过,接着继续处理其他的 importcv2importosimporttimeimportdatetimeimportshutilfrommoviepy.editorimportVideoFile......
  • 8 在IPython Notebook 运行Python Spark 程序
    8.1安装Anaconda下载:wget https://mirrors.pku.edu.cn/anaconda/archive/Anaconda3-5.3.1-Linux-x86_64.sh安装:bashAnaconda3-5.3.1-Linux-x86_64.sh-b编辑~/.bashrc:sudogedit~/.bashrc source~/.bashrc查看python版本 在data1,data2按同样的方法安装Anaconda8.2......
  • 强烈建议 | 想转行Python最好看一下这篇文章
    python现在非常火,语法简单而且功能强大,很多同学都想学Python!最近陆陆续续有很多小伙伴问我,学Python到底应该做什么,从事哪种岗位。下面是我们工作圈里面一些同学的苦恼:一、转行要趁早上面类似的问题还有很多,我请了一些不同岗位的嘉宾来给大家分享经验,下面谈谈我的感悟:......
  • Python工具箱系列(五十一)
    九宫格与词云对图片进行九宫格切割,并且放到微信朋友圈曾经风靡一时。对于python来说,这个也非常简单。fromPILimportImageimportmathdefninerectanglegrid(inputfilename):"""实现九宫格切割Args:inputfilename(string):输入文件名称""......
  • Visual Studio Code & Python教程1简介
    1简介VisualStudioCode是一款开源代码编辑器,可免费使用,完全支持Python编程语言的开发。它具有一些有用的功能,例如与世界各地的其他程序员进行实时协作。本章旨在介绍VSCode,帮助您了解其开发过程及其不同组件。我们将讨论为什么它可能是最受欢迎的代码编辑器,了解它的功能,并讨......
  • python根据达芬奇场景分析保存的edl文件,智能裁切输出4K视频画面(不带声音)-自动找到MP
    使用前先将mp4对应的EDL文件命名为相同的名字,如:春天.mp4,春天.edl只处理持续时间大于5帧的画面importcv2importosimporttimeimportdatetimeimportshutilfrommoviepy.editorimportVideoFileClip#读取切分文件defreadQiFenWenJian(filename):withopen(......