首页 > 编程语言 >python-数据分析-Numpy-2

python-数据分析-Numpy-2

时间:2024-06-09 14:10:40浏览次数:12  
标签:数据分析 平均值 python numpy array1 数组 array2 print Numpy

数组对象的方法应用

# -*- coding: utf-8 -*-
#数组对象的方法
import matplotlib.pyplot as plt
import numpy

# 1、 获取描述统计信息
array1 = numpy.random.randint(1, 100, 10)
print(array1)   #随机数组   [64 84 10 52  3 66  4 31 79  7]

#计算总和、平均值、中位数
print(array1.sum())         #400
print(numpy.sum(array1))    #400
print(array1.mean())        #40.0
print(numpy.mean(array1))   #40.0   平均值
print(numpy.median(array1)) #41.5   中位数
print(numpy.quantile(array1, 0.5))  #41.5   分位数
#上面代码中的mean、median和quantile分别是 NumPy 中计算算术平均值、中位数和分位数的函数,其中quantitle函数的第二个参数设置为0.5表示计算50%分位数,也就是中位数。

print("-----------------------------------------")

#极值、全距和四分位距离
print(array1.max())
print(numpy.amax(array1))
print(array1.min())
print(numpy.amin(array1))
print(array1.ptp())             #ptp 函数计算数组中的最大值和最小值之差
print(numpy.ptp(array1))
q1, q3 = numpy.quantile(array1, [0.25, 0.75])   #计算四分位距离、75%分位数减去25%分位数
print(q3 - q1)

print("-----------------------------------------")

#方差、标准差、变异系数
print(array1.var())
print(numpy.var(array1))    #方差
print(array1.std())
print(numpy.std(array1))    #标准差
print(array1.std() / array1.mean()) #变异系数、标准差除以平均值

绘制箱线图

# 2、绘制箱线图
#箱线图又称为盒须图,是显示一组数据分散情况的统计图,因形状如箱子而得名。 它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较。

plt.boxplot(array1, showmeans=True) #绘制箱线图
plt.ylim([-20, 120])    #设置y轴范围
plt.show()  #显示图形

值得注意的是,对于二维或更高维的数组,在获取描述统计信息时,可以通过名为axis的参数指定均值、方差等运算是沿着哪一个轴来执行,axis参数不同,执行的结果可能是大相径庭的,如下所示。

array2 = numpy.random.randint(60, 101, (5, 3))  #随机数组、5行3列
print(array2)

print(array2.mean())    #均值
print(array2.mean(axis=0))  #列平均值(每一列的平均值)  axis = 0:表示列
print(array2.mean(axis=1))  #行平均值(每一行的平均值)  axis = 1:表示行
print(array2.max(axis=0))
print(array2.max(axis=1))


#再看看绘制箱线图,对于二维数组每一列都会产生一个统计图形,如下所示。
plt.boxplot(array2, showmeans=True)
plt.ylim([-20, 120])
plt.show()

说明:箱线图中的小圆圈用来表示离群点,也就是大于$\small{Q_3 + 1.5 \times IQR}$或小于$\small{Q_1 - 1.5 \times IQR}$的值。公式中的常量1.5可以通过绘制箱线图的boxplot函数的whis参数进行修改,常用的值是1.5和3,修改为3通常是为了标识出极度离群点。

 

需要说明的是,NumPy 的数组对象并没有提供计算几何平均值、调和平均值、去尾平均值等的方法,如果有这方面的需求,可以使用名为 scipy 的三方库,它的stats模块中提供了这些函数。此外,该模块还提供了计算众数、变异系数、偏态、峰度的函数,代码如下所示。

from scipy import stats

print(numpy.mean(array1))                # 算术平均值
print(stats.gmean(array1))            # 几何平均值
print(stats.hmean(array1))            # 调和平均值
print(stats.tmean(array1, [10, 90]))  # 去尾平均值
print(stats.variation(array1))        # 变异系数
print(stats.skew(array1))             # 偏态系数
print(stats.kurtosis(array1))         # 峰度系数

其它相关方法概述

all() / any()方法:判断数组是否所有元素都是True / 判断数组是否有为True的元素。
astype()方法:拷贝数组,并将数组中的元素转换为指定的类型。
reshape()方法:调整数组对象的形状。
#dump()方法:保存数组到二进制文件中,可以通过 NumPy 中的load()函数从保存的文件中加载数据创建数组。

array1.dump('array1-data')
# print(array1.dump('array1-data'))
array3 = numpy.load('array1-data', allow_pickle=True)
print(array3)

print("-----------------------------------------")

##tofile()方法:将数组对象写入文件中。
print(array1.tofile('res/array.txt', sep=','))

#fill()方法:向数组中填充指定的元素。

#flatten()方法:将多维数组扁平化为一维数组。
print(array2.flatten())

#nonzero()方法:返回非0元素的索引。

#round()方法:对数组中的元素做四舍五入操作。

#sort()方法:对数组进行就地排序。
print(array1)
print(numpy.sort(array1))

#swapaxes()和transpose()方法:交换数组指定的轴和转置。
print(array2.swapaxes(0, 1))    #交换数组的维度、0和1表示行和列
print(array2.transpose())


#tolist()方法:将数组转成 Python 中的list。
print(array2.tolist())
print(type(array2.tolist()))

 

标签:数据分析,平均值,python,numpy,array1,数组,array2,print,Numpy
From: https://www.cnblogs.com/littlecc/p/18239518

相关文章

  • python 多任务之多线程
    多线程线程是程序执行的最小单位,实际上进程只负责分配资源,而利用这些资源执行程序的是线程,也就是说进程是线程的容器,一个进程中最少有一个线程来负责执行程序,它可以与同属一个进程的其它线程共享进程所拥有的全部资源 为什么要选择线程,而不选择进程进程:就像同时和两个人......
  • python - pandas常用计算函数
    文中所用数据集有需要的可以私聊我获取学习目标 知道排序函数nlargest、nsmallest和sort_values的用法知道Pandas中求和、计数、相关性值、最小、最大、平均数、标准偏差、分位数的函数使用1排序函数导包并加载数据集importpandasaspd​#加载csv数据,返回df......
  • 超详解——python数字和运算——小白篇
    目录1.位运算2.常用内置函数/模块math模块:random模块:decimal模块:3.内置函数:总结:1.位运算位运算是对整数在内存中的二进制表示进行操作。Python支持以下常见的位运算符:按位与(&):两个二进制数对应位都为1时,结果的该位才为1。按位或(|):两个二进制数对应位有一个为1,结果......
  • 运筹学练习Python精解——指派问题
    练习8分配甲、乙、丙、丁4个人去完成A、B、C、D、E5项任务,每个人完成各项任务的时间见下表。由于任务数多于人数,故考虑:(1)任务E必须完成,其他4项中可任选3项完成;(2)其中有一人完成两项,其他每人完成一项。试分别确定最优分配方案,使完成任务的总时间为最少。人员\任务AB......
  • 【四种语言一网打尽(C\C++\Python\Golang)】L1-005 考试座位号
    L1-005考试座位号每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着......
  • 【机器学习基础】Python编程07:五个实用练习题的解析与总结
    Python是一种广泛使用的高级编程语言,它在机器学习领域中的重要性主要体现在以下几个方面:简洁易学:Python语法简洁清晰,易于学习,使得初学者能够快速上手机器学习项目。丰富的库支持:Python拥有大量的机器学习库,如scikit-learn、TensorFlow、Keras和PyTorch等,这些库提供了......
  • 【机器学习基础】Python编程08:五个实用练习题的解析与总结
    Python是一种广泛使用的高级编程语言,它在机器学习领域中的重要性主要体现在以下几个方面:简洁易学:Python语法简洁清晰,易于学习,使得初学者能够快速上手机器学习项目。丰富的库支持:Python拥有大量的机器学习库,如scikit-learn、TensorFlow、Keras和PyTorch等,这些库提供了......
  • Plotly : 超好用的Python可视化工具
    文章目录安装:开始你的Plotly之旅基本折线图:简单却强大的起点带颜色的散点图:数据的多彩世界三维曲面图:探索数据的深度气泡图:让世界看到你的数据小提琴图:数据分布的优雅展现旭日图:分层数据的直观展示热力图:变量之间关系的直观展示雷达图:多维数据的全面展示三维散点图:空间......
  • Python+pytest+jenkins 多插件 pdf电子书目录
    第1章pytest入门11.1资源获取 41.2运行Pytest 51.3运行单个测试用例 101.4使用命令行选项 10--collect-only选项 11-k选项 11-m选项 12-x选项 13--maxfail=num 15-s与--capture=method 16-lf(--lastfailed)选项 16--ff(--failed-first)选项 17......
  • Python 运算符重载
    在Python中,运算符重载是一种允许你定义或修改内置运算符(例如+,-,*,/等)在自定义类中的行为的技术。通过重载运算符,你可以使这些运算符对自定义对象执行特定的操作。运算符重载是通过在类中定义特殊方法(也称为魔法方法)来实现的,这些方法通常以双下划线开头和结尾。以下是一些常......