Python Numpy学习总结

本文介绍NumPy库的基本使用方法,包括一维和二维数组的创建、数据读取、形状查看及数据类型转换等操作,并演示了如何进行数组的数学运算、随机数生成以及数组的拼接和切分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



numpy 是一个 Python 包。 它代表 “Numeric Python” 它是一个由多维数组对象和用于处理数组的例程集合组成的库

import numpy as np
#定义一个一维数组
a1=np.array([1,42,3,4,5,6])
print("结果:",a1)
#定义一个二维数组
a2=np.array([
    [
1,2,3],
    [
"a","b","c"],
    [
"1a","b","cc"]
])
print("结果:",a2)
print("结果:",a2[0][0],a2[1][0])
#把一个维数组转换为二维
b1=a1.reshape(1,-1)
print("结果:",b1)
b2=a1.reshape(
3,2)
print("结果:",b2)
#读取数据
data=np.genfromtxt("D:\world_alcohol.txt",delimiter=",",dtype=str)
print("结果:",data)
#查看数据维度
print("数组a1:",a1.shape)

#查看数据l里面数据类型
print("数组数据类型:",a1.dtype)
#取某列
print(a2[0:2,0:2])

#判断条件 只适合一维
resa2=a1==42
print(resa2)
print(a1[resa2])
#取出a2数组第3列等于cc的行
print("========================")
reta2=a2[:,
2]=='cc'
print(reta2)
print(a2[reta2,:])
#类型转换
cc=np.array(["1","3","4","6"])
print(cc)
ccd=cc.astype(
int)
print(ccd)
#按照行和列计算
matrix=np.array([
    [
1,2,3,4],
    [
5,6,7,8],
    [
9,10,11,12],
])

print(matrix.sum(axis=1))#按行
print(matrix.sum(axis=0))#按列
print(matrix.ndim)#数组维度
print(matrix.size)#数组大小
print(len(matrix))#数组长度
#
初始化为0的数据
zero=np.zeros((2,3))
print(zero)
#初始化为1的数据
zero=np.ones((3,5,2))
print(zero)
#构造从10开始100结束的数据
data=np.arange(10,100,3,dtype=int)
print(data)
#构造10个随机数
radomdata1=np.random.random(10)
print(radomdata1)
#构造一个二维随机数组
radomdata2=np.random.random((2,3))
print(radomdata2)
#构造从08间等间隔取20个数
linespace=np.linspace(0,8,20)
print("linespace",linespace)
linespace2=np.arange(
0,8,2)
print("linespace2",linespace2)
A=np.array([
    [
1,1],
    [
0,1]])
B=np.array([
    [
2,0],
    [
3,4]])
print(A*B)#内乘
print(A.dot(B))#矩阵乘法
#
2维数组转换为一维
print(matrix.ravel())

#数据行拼接
print(np.hstack((A,B)))
#数据列拼接
print(np.vstack((A,B)))
切分
print("切分==============================")
data=np.random.random((
2,12))
print(data)
print("按行切分==============================")
split1=np.hsplit(data,
3)
print(split1)
data=np.random.random((
6,4))
# print("按列切分==============================",data)
# split2=np.vsplit(data,2)
# print(split2)
print("指定位置切分==============================",data)
split3=np.vsplit(data,(
2,3))
print(split3)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值