数据分析-科学计算numpy的学习

本文详细介绍NumPy库的基础操作,包括数组创建、索引、切片、通用函数运算、条件表达式、去重、文件读写、矩阵运算等内容,是NumPy初学者的必备指南。

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

# -*- coding: utf-8 -*-
import numpy as np
#创建数组
list1=[1,3,5,-2,0,-9]
list2=[2,4,-3,-7,1,7]
list3=[[2,5,0],[-1,3,4]]
list4=[[3,1,8],[9,3,9]]
arry=np.array(list3)
print(arry)
arr2=np.arange(1,10,2)#对1-10每隔2个取一个
print(arr2)
arr3=np.linspace(1,10,5)#对1-10进行5等份
arr_zero=np.zeros((3,4)) #zeros参数是元祖,全为0的数组
print(arr_zero)
arr_one=np.ones((3,3))#全为1的数组
print(arr_one)
arr_eye=np.eye(4,4)#对角线上的数字为1,其他的为0
print(arr_eye)
print(arr_one*100)
#数组的索引和切片
print(list3[1])
print(list3[1][2])
arry1=np.array(list1)
print(arry1[1:3])
arry2=np.array(list4)
print(arry2[1][1:3])
#通用的函数运算
print("sqrt:\n",np.sqrt(arry2))
print("exp:\n",np.exp(arry2))
arry3=np.array(list2)
print(np.maximum(arry1,arry3))#将最大值放在一起,如可以用在RELU大于0保留原值,小于0的取0
list5=[1.1,2,2.33,1.77,1.1,2]
arr5=np.array(list5)
print(np.modf(arr5))#把整数部分和小数部分,生成两个独立的数组
#运算
new_arr1=np.where(arry1>0,'True','False')#if condition:x,y
print(new_arr1)
print(np.unique(list5))#去重复值,并返回已经排序的结果
arry6=np.array(list4)
print(np.unique(arry6))
#数组作为文件来输入和输出
np.save('myarr',arr2)#把数据保存为文件.npy
new_arr2=np.load('myarr.npy')
print("new arr2:\n",new_arr2)
np.savez('myarrzip',a1=arr5,a2=arry1,a3=arry2)#.npz把多个数组保存为文件
arr=np.load('myarrzip.npz')
print(arr['a1'])
#线性代数
#矩阵的合并
list12=[[2,5,0],[11,3,4]]
list13=[[3,-1,8],[9,-3,9]]
arr12=np.array(list12)
arr13=np.array(list13)
print(np.hstack([arr12,arr13]))
print(np.vstack([arr12,arr13]))
#点乘
arr14=arr13.reshape(3,2)
print(arr12.dot(arr14))
#矩阵的转值
print(np.transpose(arr12))

转载于:https://www.cnblogs.com/yaguho/p/10030528.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值