numpy的基本使用 附python代码详细讲解(numpy函数,创建数组,常用属性,索引切片,数组的复制,修改维度,数组的分割、拼接、转置)

目录

    • 使用array创建数组
    • 使用arange创建数组
    • Numpy中的随机数创建
    • ndarray对象的常用属性
    • 其他方式创建数组
    • 索引和切片(一位数组、二维数组)
    • 数组的复制
    • 修改数组的维度
    • 数组的拼接
    • 数组的分割
    • 数组的转置
    • numpy的函数使用

使用array创建数组

# coding=utf-8import numpy as np"""
利用array创建数组的简单介绍
"""print("使用array函数创建一维数组")
a = np.array([1, 2, 3, 4, 5, 6])
print(a)
print(type(a))print("使用array函数创建二维数组")
b = np.array([[1, 2], [2, 3], [4, 5]])
print(b)
print(type(b))print("使用array函数创建三维数组")
c = np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]]])
print(c)
print(type(c))"""
array函数的常用方法
"""print(" array函数的dtype的使用:设置创建数组里面元素的类型")
d = np.array([1, 2, 3], dtype=float)
print(d)
print(type(d))print("array函数的ndim的使用:设置数组的维度")
e = np.array([1, 2, 3], dtype=float, ndmin=3)
print(e)

使用arange创建数组

# coding = utf-8import numpy as np# range的使用    range(start,end,step)    默认为[start,end)  step默认为1   start默认从0开始
print("从1开始,到5结束(不包含5),默认步长为1")
list1 = list(range(1, 5))
print(list1)print("默认从0开始,到5结束(不包含5),步长默认为1")
list2 = list(range(5))
print(list2)print("从2开始,到10结束(不包含10),步长为2")
list3 = list(range(2, 10, 2))
print(list3)# 与range类似,用arange创建数组
print("从1开始,3结尾")
a = np.arange(1, 3)
print(a)print("从1开始,3结尾,步长为0.1")
b = np.arange(1, 3, 0.1)
print(b)print(" dtype的使用")
c = np.arange(6, 9, dtype=float)
print(c)

Numpy中的随机数创建

# coding=utf-8import numpy as np# 随机小数
def randomTest():print("使用random创建一维数组,size规定了一维数组的元素个数   范围[0.0,1.0)")a = np.random.random(size=6)print(a)print("创建一个二维数组 三行5列")b = np.random.random(size=(3, 5))print(b)print("创建三维数组    两个三行四列")c = np.random.random(size=(2, 3, 4))print(c)randomTest()# 随机整数
def randintTest():#  语法:randint(low, high=None, size=None, dtype=None)   这边也是左闭右开print("生成0-10之间的随机整数,一维")a = np.random.randint(11, size=20)print(a)print("生成1到5之间的随机整数,二维 (三行四列)")b = np.random.randint(1, 6, size=(3, 4))print(b)print("生成1到10之间的随机整数,三维 (两个三行四列)")c = np.random.randint(1, 6, size=(2, 3, 4))print(c)# dtype的使用d = np.random.randint(5, size=2, dtype=np.int64)print('设定的dtype为', d.dtype)randintTest()# 生成正态分布数组
def randnTest():# randn函数返回一个或一组样本,具有标准正态分布(期望为0,方差为1)# randn(d0, d1, ..., dn)   dn表示维度,返回值为指定维度的arrayprint("eg:创建一个一维的有三个元素的数组")a = np.random.randn(3)print(a)print("创建一个二维的(三行四列)")b = np.random.randn(3, 4)print(b)print("创建一个三维的(两个三行四列)")c = np.random.randn(2, 3, 4)print(c)randnTest()# 创建指定期望和方差的正态分布
def normalTest():print(" normal(loc=0.0, scale=1.0, size=None),默认的期望是loc=0.0    方差scale=1.0")a = np.random.normal(size=3)print(a)print("指定期望和方差")b = np.random.normal(loc=2, scale=2, size=(3, 4))print(b)normalTest()

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)

ndarray对象的常用属性

# coding=utf-8
import numpy as np# 创建一维的数组
a = np.arange(2, 5)
print(a)a1 = np.array([1, 2, 3])
print(a1)# 创建二位的数组
b = np.random.randint(1, 5, size=(2, 3))
print(b)print("创建三维数组(正态分布)")
c = np.random.randn(1, 2, 2)
print(c)# 常用属性
print(" ndim属性")
print("ndim:", a.ndim, b.ndim, c.ndim)print("shape属性")
print("shape:", a.shape, b.shape, c.shape)print("dtype属性:当前元素的类型")
print("dtype:", a.dtype, b.dtype, c.dtype)print("size属性:当前元素的总个数")
print("size:", a.size, b.size, c.size)print("itemsize属性:每个元素所占的字节")
print("itemsize:", a.itemsize, b.itemsize, c.itemsize)

其他方式创建数组

# coding=utf-8
import numpy as npprint(" numpy.zeros:里面的元素用0来填充")
def zerosTest():a = np.zeros(2)print(a)print("指定类型 dtype")b = np.zeros((3), dtype=int)print(b)print(" 创建二维数组(两行三列)")c = np.zeros((2, 3))print(c)zerosTest()print(" numpy.ones:里面的元素用1来填充")
def onesTest():a = np.ones(5)print(a)print("指定类型 dtype")b = np.ones((3), dtype=int)print(b)print("创建二维数组(两行三列),指定类型")c = np.ones((2, 3), dtype=int)print(c)onesTest()print(" empty:根据给定的维度和数值类型返回一个新的数组,其元素不进行初始化。")
def emptyTest():a = np.empty(6)print(a)b = np.empty((2, 3))print(b)emptyTest()# linspace(等差)
# linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None,
#              axis=0)
# 在指定的间隔范围内返回均匀间隔的数字。
#
# 在[start, stop]范围内计算,返回num个(默认为50)均匀间隔的样本。
#
# endpoint可以选择性地排除间隔的终点。
def linspaceTest():a = np.linspace(1, 5, 5)print(a)b = np.linspace(1, 20, 8, endpoint=False)print(b)linspaceTest()# logspace(等比),与上面linspace类似
def logspaceTest():print("eg:2的0到9次方")a = np.logspace(0, 9, 10, base=2)print(a)logspaceTest()

索引和切片(一位数组、二维数组)

# coding = utf-8import numpy as np# 一维数组的索引和切片
def oneArrayTest():# 创建一个一维数组a = np.arange(8)print(a)# 索引print("正索引访问,索引从0开始")print("索引0处的元素:", a[0])print("索引7处的元素: ", a[7])print("负索引访问,倒数第一个的索引为-1")print("最后1个元素为:", a[-1])print("倒数第3个元素为:", a[-3])# 正向切片索引切片操作  [start:stop:step]print(" 从开始到结尾")print(a[:])print("从索引2开始到结尾")print(a[2:])print("从索引2开始到索引5")print(a[2:5])print("从索引1开始到索引7,步长是2")print(a[1:7:2])# 负向切片索引切片操作  [start:stop:step]print("反向获取")print(a[::-1])print(a[-6:-2])# oneArrayTest()# 二维数组的索引和切片
def twoArrayTest():a = np.arange(1, 7)print(a)print("reshape的使用    eg:对上面那个一维数组进行修改形状,变为二行三列")b = a.reshape((2, 3))print(b)# 索引的使用    eg:查看第二行print(b[1])print("eg:查看第一行第二列")print(b[1][2])"""切片的使用[对行进行切片,对列进行切片][start:stop:step,start:stop:step]"""print(" 获取所有行和所有列")print(b[:, :])print(" 获取所有行的第二列")print(b[:, 1])print("获取所有行的部分列,23列")print(b[:, 1:3])print("获取部分行,所有列    eg:获取奇数行 所有列")print(b[::2, :])print("获取部分行,部分列     eg:获取第一行  奇数列")print(b[0:1, ::2])# 坐标获取print("获取第1行第三列的元素")print(b[0][2])print(b[0, 2])print("同时获取不同行不同列   获取第一行第三列   第二行第三列")print(b[0, 2], b[1][2])print("让上面的两个值以数组的形式返回")print(np.array([b[0, 2], b[1][2]]))print("使用坐标也可得到上面的结果,坐标前面是行 后面是列")print(b[(0, 1), (2, 2)])# 二维数组中负索引的使用print("最后一行:", b[-1])print("行进行倒序为:\n", b[::-1])print("行列都进行倒序为:\n", b[::-1, ::-1])twoArrayTest()

数组的复制

# coding = utf-8
import numpy as np# 创建一个二维的数组
a = np.arange(1, 16).reshape((3, 5))
print(a)print("对a数组进行切片处理,获取第一二三行,第一二三列")
b = a[:3, :3]
print(b)print("对b中的第一行第一列的值进行修改:可知b中更改了,但是原数组a也会改变")
b[0][0] = 666
print(b)
print(a)print("如何解决以上问题呢 这时就会用到numpy中的copy")
c = np.copy(a[:3, :3])
c[0][0] = 888
print(c)
print(a)

修改数组的维度

# coding = utf-8
import numpy as np# 通过reshape()进行修改维度
# 将一维数组转换成为二维,三维数组
# 创建一个一维数组
a = np.arange(1, 13)
print(a)print("将一维修改为二维(2,6)(3,4)")
# b=a.reshape(3,4)
b = a.reshape((3, 4))
print(b)print(" 将一维修改为三维(2,2,3)")
c = a.reshape(2, 2, 3)
print(c)# 通过np.reshape()进行修改维度
print(" 将一维数组转换为二维数组")
d = np.reshape(a, (2, 6))
print(d)
print(" 将一维数组转换为三维数组")
d1 = np.reshape(a, (2, 2, 3))
print(d1)# 多维转一维
print(" 将多维数组转换为一维数组   前提:你必须知道你要转换的数组有多少个元素")
e = d1.reshape(12)
print("这是一个简单的方法  可以不用知道需要转换的数组里面几个元素,直接括号里面写-1就可以了")
e1 = d1.reshape(-1)
print(e)
print(e1)# ravel,flatten函数也可将多维函数转换为一维数组
e2 = d1.ravel()
print(e2)
e3 = d1.flatten()
print(e3)

数组的拼接

# coding = utf-8
import numpy as np# 创建两个数组
a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([[11, 12, 13], [14, 15, 16]])
print(a)
print(b)print("使用hstack进行水平拼接")
# 列表
hs1 = np.hstack([a, b])
print(hs1)
# 元组
hs2 = np.hstack((a, b))
print(hs2)print("使用vstack进行垂直拼接")
# 列表
vs1 = np.vstack([a, b])
print(vs1)
# 元组
vs2 = np.vstack((a, b))
print(vs2)# concatenate的使用
print(" axis=0默认    垂直方向拼接   相当于vatsck")
con1 = np.concatenate((a, b), axis=0)
con2 = np.concatenate((a, b))
print(con1)
print(con2)print("axis=1    水平方向拼接   相当于hatsck")
con3 = np.concatenate((a, b), axis=1)
print(con3)print("三维数组有三个轴,axis = 0 ,axis = 1, axis = 2")
b = np.arange(1, 25).reshape(1, 3, 8)
print(b, b.shape)
b1 = np.arange(101, 125).reshape(1, 3, 8)
print(b1, b1.shape)# 三维   axis=0
ax_zero = np.concatenate((b, b1), axis=0)
print(ax_zero, ax_zero.shape)# 三维   axis=1
ax_one = np.concatenate((b, b1), axis=1)
print(ax_one, ax_one.shape)# 三维   axis=2
ax_two = np.concatenate((b, b1), axis=2)
print(ax_two, ax_two.shape)

数组的分割

# coding = utf-8
import numpy as np# 创建一个一维数组
a = np.arange(1, 13)# split函数:分割
# 对一维数组进行分割
# 传递整数,平均分割
sp_one = np.split(a, 4, axis=0)
print(sp_one)# 传递数组,按位置进行分割
print("eg:1到3为一组,4到7为一组,8到12为一组")
sp_two = np.split(a, [3, 7])
print(sp_two)# 对二维数组进行分割
b = np.arange(1, 25).reshape(4, 6)
print(b)
print("axis = 0,垂直方向,平均分割,将b分为两个数组w,y")
w, y = np.split(b, 2, axis=0)
print(w)
print(y)print("axis = 0,垂直方向,按位置分割,将b分为两个数组w(1,2行),y(3行),g(4行)")
w, y, g = np.split(b, [2, 3], axis=0)
print(w)
print(y)
print(g)print("axis = 1,水平方向,将b分为两个数组w,y")
w, y = np.split(b, 2, axis=1)
print(w)
print(y)print("axis = 1,水平方向,将b分为两个数组w,y,前4列为一个部分,后面几列为一个部分")
w, y = np.split(b, [4], axis=1)
print(w)
print(y)print("hsplit:按照水平方向分割    eg:分成两个部分,前三列一部分,后三列一部分")
w, y = np.hsplit(b, 2)
print(w)
print(y)print("hsplit:按照位置分割  eg:前五列为一组  后一列为一组")
w, y = np.hsplit(b, [5])
print(w)
print(y)# vsplit:按照垂直方向分割
print("vsplit:按照垂直方向分割    eg:分成两个部分,前三行一部分,后三行一部分")
w, y = np.vsplit(b, 2)
print(w)
print(y)print("vsplit:按照位置分割  eg:前三行为一组  后一行为一组")
w, y = np.vsplit(b, [3])
print(w)
print(y)

数组的转置

# coding = utf-8
import numpy as np# 数组的转置可以联想到我们在大二学习的线性代数当中矩阵的转置
# 创建一个二维数组
a = np.arange(1, 25).reshape(4, 6)
print(a, a.shape)print("transpose函数进行数组的转置 a[i][j]--->a[j][i]")
b = a.transpose()
print(b, b.shape)print("还可以直接使用T来实现转置")
print(a.T)print("使用numpy中的transpose实现转置")
c = np.transpose(a)
print(c)# 多维数组进行转置
a = a.reshape(2, 3, 4)
print(a, a.shape)
print("对于三维a[i][j][k]进行转置 默认将i和k进行交换   eg:将a[2][3][4]进行转置就变为a[4][3][2]")
b = np.transpose(a)
print(b, b.shape)

numpy的函数使用

# coding = utf-8
import numpy as npa = np.arange(9).reshape(3, 3)
b = np.array([9, 9, 9])
print("加法:a+b")
print(np.add(a, b))
print(a + b)print("减法:b-a")
print(np.subtract(b, a))
print(b - a)# out 参数的使用
print("乘法:a*10")
c = np.empty((3, 3), dtype=np.int)
np.multiply(a, 10, out=c)
print(c)# out 参数的使用
print("除法:a*2")
d = np.empty((3, 3))
np.divide(a, 2, out=d)
print(d)# 三角函数
print("三角函数")
a = np.array([0, 30, 60, 90])
print(np.sin(a))print("around:四舍五入   ceil:向下取整   floor:向上取整")
a = np.array([3.99, 7.12, 9, 6, 7.23, 3.1, 6.55])
print("around:", np.around(a))
print("ceil:", np.ceil(a))
print("floor:", np.floor(a))# 聚合函数
"""
常用聚合函数
np.sum() //求和
np.prod() //所有元素相乘
np.mean() //平均值
np.std() //标准差
np.var() //方差
np.median() //中位数
np.power() //幂运算
np.sqrt() //开方
np.min() //最小值
np.max() //最大值
np.argmin() //最小值的下标
np.argmax() //最大值的下标
np.inf //无穷大
np.exp(10) //以e为底的指数
np.log(10) //对数
"""print("简单的sum(),max(),min()")
a = np.array([6,7,9,5,3,4,1,2])
print("sum:",np.sum(a))
print("max:",np.max(a))
print("min:",np.min(a))print("np.argmin() 最小值的下标   np.argmax() 最大值的下标")
print("argmin:",np.argmin(a))
print("argmax:",np.argmax(a))print("power的使用")
a = np.arange(1,13).reshape(3,4)
print("原a:\n",a)
print("power后的a: \n",np.power(a,2))print("power中的out的使用")
x=np.arange(5)
y=np.zeros(8)
np.power(2,x,out=y[:5])
print(y)# median();中位数
print("一维数组的中位数:偶数的中位数:最中间两个数的平均值   ""eg:[6,7,9,5,3,4,1,2]  首先进行排序[1,2,3,4,5,6,7,9]   中位数为4+5除2=4.5")
a = np.array([6,7,9,5,3,4,1,2])
print(np.median(a))print("一维数组的中位数:奇数的中位数:最中间的数   ""eg:[6,7,9,5,3,4,1]  首先进行排序[1,3,4,5,6,7,9]   中位数为最中间的数5")
a = np.array([6,7,9,5,3,4,1])
print(np.median(a))# 二维数组求中位数 要通过axis制定轴
a = np.arange(1,13).reshape(3,4)
print(a)
print("垂直方向:",np.median(a,axis=0))
print("水平方向:",np.median(a,axis=1))# mean求平均值
print("一维数组求平均值")
a=np.array([6,7,9,5,3,4,1,2])
print(a)print("二维数组求平均值:  axis指定轴求平均")
a = np.arange(1,13).reshape(3,4)
print(a)
print("axis=0  垂直方向:",np.mean(a,axis=0))
print("axis=1  水平方向:",np.mean(a,axis=1))

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568833.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matplotlib的基本使用 附python代码详细讲解(基本图的绘制、样式、简单函数的使用)

目录一、基本图的绘制1.1直线的绘制1.2折线的绘制1.3散点图的绘制1.4绘制不同颜色的散点图1.5绘制不同颜色的线1.6柱状图1.7饼状图1.8直方图1.9三维图1.10等高线图二、样式2.1基本样式2.2画布分区的使用三、函数3.1简单的一元二次方程3.2三角函数一、基本图的绘制 1.1直线的绘…

算法的时间复杂度(python版容易理解)+常用的时间复杂度、python代码--数据结构

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 目录一、算法时间复杂度的应用二、如何计算算法的时间复杂…

python小白如何看报错?实用三步法

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 怎么正确看报错?拿一段代码来说事:…

unittest Module中的常用6种断言方法

unittest Module中的断言方法 方法作用assertEqual(a,b)核实 a bassertNotEqual(a,b)核实 a !bassertTrue(x)核实x为TrueassertFalse(x)核实x为FalseassertIn(item,list)核实item在list里面assertNotIn(item,list)核实item不在list里面

测试必备:单元测试测试类,以帮助匿名管理调查的类为例详解--白盒测试

类的测试与函数的测试相似 测试函数的案例:https://blog.csdn.net/hanhanwanghaha/article/details/107487037 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 让这个可爱的宝藏女孩在努…

解决Pycharm文件夹中同级目录导包报错的问题

报错情况:导包报错,但程序仍然可以运行 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行! 如有转载&#xff0…

外星人入侵游戏--python实战 (附完整代码)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 目录一、前提准备二、效果展示三、代码alien_invasion.pys…

测试必备:if条件测试( if-else语句、if-elif-else语句、多个elif代码块、省略else代码块、测试多个条件)

目录if-else语句if-elif-else语句多个elif代码块省略else代码块测试多个条件if-else语句 以买车票为例,儿童身高超过1.5m就需要买全票,我们可以用 if-else语句来演示。设身高为1.6m,超过了1.5,就会输出全票 # coding utf-8"…

python中设置时间格式--模块datetime中日期和时间格式的参数

模块datetime中设置日期和时间格式的实参 实参含义%A本地完整星期名称%a本地简化星期名称%B本地完整的月份名称%b本地简化的月份名称%m(month的首字母)用数字表示的月份(0-12)%d(day的缩写)用数字表示月份中的一天(1-31)%Y&#x…

数据分析CSV模块的基本使用(以分析复杂的天气情况为例),附完整的Python代码及csv文件详解---数据可视化

目录一、前提准备二、代码解释2.1分析CSV文件头2.2提取并读取数据2.3绘制气温图表2.4在图表中添加日期(datetime模块)2.4.1书上源代码2.4.2完善代码2.5覆盖更广的时间2.5.1书上源代码2.5.2完善代码2.6再绘制一个数据系列--添加最低气温数据2.6.1添加最低…

SpringMVC之注解的使用

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 SpringMVC之注解的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、注解的使用Co…

ValueError: invalid literal for int() with base 10:Python报错及其解决办法

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 报错情况 ValueError: invalid literal for int() with b…

数据分析--使用Web API(应用编程接口)以自动请求GitHub网站的特定信息为例爬取数据,附完整的Python代码详解

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行! 如有转载,请注明出处(如不注明,盗者必究&#xf…

IndexError: list index out of range--Python报错原因及解决办法

报错原因 一、括号里面的索引index超出范围 例如:要查找最后一个明星的名字‘Hannah Quinlivan’,Index输入为4。在Python中,第四个元素的索引为3,因为索引是从0开始的。如果想要找最后一个,但是不知道索引为几的时候…

ERROR: Cannot unpack file C:\Users\admin\AppData\Local\Temp\pip-unpack-yo8pmupp\simple.htm (download

出现报错 出现了这个报错 ERROR: Cannot unpack file C:\Users\admin\AppData\Local\Temp\pip-unpack-yo8pmupp\simple.htm (downloaded from C:\Users\admin\AppData\Local\Temp\pip-req-build-bscsadf5, content-type: text/html); cannot detect archive format ERROR: Ca…

创建数据库python: can‘t open file ‘manage.py‘: [Errno 2] No such file or directory报错

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 在创建数据库时运行代码 python manage.py migrate运行结…

Django的简单介绍及虚拟环境的搭建、创建项目,数据库(Windows版超级详细)--Python web应用程序开发(Python实战)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 目录Djanggo简介建立虚拟环境(Anaconda终端下)激活虚拟环境…

教你用8行代码将word转换为pdf格式 及 6行代码实现批量将word转换为pdf格式--python实用小技能get起来

目录将word转换为pdf格式安装pywin32上代码运行结果批量实现word转pdf安装docx2pdf上代码运行结果将word转换为pdf格式 安装pywin32 代码(Anaconda终端下) pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsingh…

用Python高效地将 多个excel表快速汇总成一个excel表--python办公实用小技能分享

相信很多友友们都遇到一个同样的问题,就是将多个excel表汇总成一个表效率极低,不止如此,还要看有没有复制错。在学校担任多种职务的我总是要汇总很多个表格,早就用python来想解决这个问题,经过借鉴网上的多位大咖的代码…

教你如何使用 Python 将 pdf 文档进行 加密 解密——python实用小技能分享

上次说了怎么将word转换为pdf格式 及 实现批量将word转换为pdf格式(点击这里),这次我又get到一个新技能–使用 Python 将 pdf 文档进行 加密 解密,哈哈哈 希望帮到更多人! 在Anaconda终端下输入代码 pip install --u…