numpy学习3

numpy简单函数

一、排序

python 复制代码
# 使用numpy进行简单分析
import numpy as np
# 1 排序
np.random.seed(42)  # 设置随机种子:确定后随机数确定,不会再发生变化
arr = np.random.randint(1,10,size=10)  # size表示生成数的元素个数
print(arr)
arr.sort()
print(arr)

arr=np.random.randint(1,10,size=(3,3)) # 生成3行3列的随机数
print(arr)
arr.sort(axis=1)  # 沿着横轴排序
print(arr)
arr.sort(axis=0)  # 沿着纵轴排序
print(arr.sort(axis=0))  # 返回值为None

arr1 = np.random.randint(1,10,size=10)  # size表示生成数的元素个数
arr1.argsort()  # 返回值为重新排序值的下标

二、去重

python 复制代码
import numpy as np
# 去重函数:unique ,且会排序,从低到高
names=np.array(["小明","小白","小花","小明","小白"])
scores=np.array([89,87,45,12,67,89,45,22])
new_name = np.unique(names)
new_score = np.unique(scores)
print(new_name)
print(new_score)

# 和unique等价的Python代码:sorted(set(names))
# set集合:唯一性
print(sorted(set(names)))

arr2=np.arange(5)
print(arr2)
print(np.tile(arr2,3))   # tile对数组进行重复:对arr2进行重复3次

# 对行或者列重复
np.random.seed(10)  # 设置随机种子:确定后随机数确定,不会再发生变化
arr = np.random.randint(1,15,size=(3,3))  # size表示生成数的元素个数
print("-------------")
print(arr)
print(arr.repeat(2,axis=0)) # 按行进行元素重复2次
print(arr.repeat(3,axis=1)) # 按列进行元素重复3次

数据简单统计

python 复制代码
import numpy as np

#  np.mean () 均值
# 含义:一组数据的平均水平

#  np.var () 方差
# 含义:数据离散波动大小;数值越大,数据越分散
# 适用场景
# 1. 衡量稳定性:股票收益率波动、设备测量误差、生产线产品尺寸波动
# 2. 特征筛选:方差很小的特征几乎没有信息,可以删掉

#  np.std () 标准差
# 含义:方差开根号,和原始数据单位一致,最直观衡量波动

# np.cumsum () 累计和(累计值)
# 含义:逐项累加,得到到当前位置为止的总和,保留时序顺序
# 时序累计:每日销售额 → 累计营收;每日流量 → 累计访问量

# 函数            作用
# mean均值     描述集中位置          平均水平
# var方差      数学上衡量离散度        波动大小(平方单位)
# std标准差     直观衡量波动          波动大小(同原单位)
# cumsum累计和  时序累加过程          随位置不断累积总量

arr=np.arange(2,20).reshape(3,6)
# print(arr)
# # 求和
# print(np.sum(arr)) # 计算数组的和
# print(arr.sum(axis=0)) # 沿着横轴计算求和,取行
# print(arr.sum(axis=1)) # 沿着纵轴计算求和,取列

load_data = np.loadtxt("./iris_sepal_length.csv",delimiter=",")
print(load_data.shape)
print(type(load_data))
# print(load_data)
# print(load_data.__len__())
# print(len(load_data))
# 1 排序 执行后原数据不变
sorted_data = np.sort(load_data)        # 默认升序
sorted_data = np.sort(load_data)[::-1]  # 逆序输出
# print(load_data)
# print(sorted_data)

# 2 去重 执行后原数据不变
uniqued_data = np.unique(load_data)
# print(uniqued_data)
# print(load_data)

# 3 求和 np.array([1,2,3,4])
# print(np.sum(arr))  # 1+2+3+4 = 10
sum_data = np.sum(load_data)

# 累积和  print(np.cumsum(arr))
#  [1, 1+2, 1+2+3, 1+2+3+4] → [1, 3, 6, 10]
cumsum_data = np.cumsum(load_data)
print(cumsum_data)

# 均值
mean_data = np.mean(load_data)
print(mean_data)

# 标准差
std_data = np.std(load_data)
print(std_data)

# 方差
var_data = np.var(load_data)
print(var_data)

# 最小值
min_data = np.min(load_data)
print(min_data)

# 最大值
max_data = np.max(load_data)
print(max_data)
相关推荐
坤坤子吖2 小时前
Linux 进程信号入门——从 Ctrl+C 到 kill
linux·开发语言·c++·笔记·学习
Gigavision2 小时前
SEED-V数据集下载 时频联合编码和空间、时间并行注意力学习脑电表示
学习
LONGZHIQIN3 小时前
Python学习笔记
笔记·python·学习
czt_java3 小时前
网络基础入门:IPv4、IPv6、私网公网、MAC、以太网帧与 DNS 学习笔记
网络·学习·macos
MoRanzhi12033 小时前
第 9 篇 · 数值计算与图像处理:NumPy、SciPy、Pillow
图像处理·python·数值计算·numpy·pillow·信号处理·scipy
我命由我123453 小时前
LRU 缓存淘汰策略
数据结构·redis·学习·mysql·算法·缓存·学习方法
一木 之林3 小时前
微信小程序开发全攻略·文章版|01 入门与环境搭建
人工智能·学习·计算机视觉·微信小程序·notepad++
Xudde.3 小时前
Quaoar 靶机渗透测试(Vulnhub Writeup)
笔记·学习·安全·web安全
遇印记4 小时前
网络安全,数据链路层,物理层
运维·服务器·网络·windows·学习