Python数据分析篇--NumPy--入门

简介: Python数据分析篇--NumPy--入门

NumPy相关知识

1. NumPy,全称是 Numerical Python,它是目前 Python 数值计算中最重要的基础模块。

2. NumPy 是针对多维数组的一个科学计算模块,这个模块封装了很多数组类型的常用操作。

3. NumPy 中最重要的对象是多维数组。

创建多维数组

1. 将一个列表作为参数传入 numpy 中的 array() 方法即可创建一个多维数组。


2. 我们也可以使用 numpy 中的 ones() 方法或者 zeros() 方法。


3. np.ones() 和 np.zeros() 的参数用于指定生成的多维数组里有多少个元素。


4. 默认生成的是浮点数,numpy 会省略小数点后的 0,因此 1.0 和 0.0 变成了 1. 和 0.。


5. 如果我们想要生成整数的话,可以传入 dtype='类型' 来指定类型。


5. 一般我们使用 import numpy as np ,即用 np 来简写 numpy。

import numpy as np
list=np.array([1,2,3])
print(list)
print(type(list))
#输出结果
#[1 2 3]
#<class 'numpy.ndarray'>
 
one=np.ones(5)
print(one)
print(type(one))
#[1. 1. 1. 1. 1.]
#<class 'numpy.ndarray'>
 
zero=np.zeros(3)
print(zero)
print(type(zero))
#[0. 0. 0.]
#<class 'numpy.ndarray'>
 
one=np.ones(5,dtype='int')
print(one)
print(type(one))
#输出结果 [1 1 1 1 1]

1. 列表间只有加法操作,作用是将两个列表的元素合并在一起。

2. 而多维数组间可以进行加减乘除的四则运算。

3. 运算规则也很简单:将两个数组中对应位置的元素一一进行运算。

import numpy as np
 
data = np.array([1, 2])
ones = np.ones(2)
print(data + ones)
#最终输出 [2. 3.]
 
data = np.array([1, 2])
print(data + 1)
# 输出:[2 3]

多维数组的索引

1. 多维数组的索引与字符串、列表的索引规则相同。

1. data = np.array([1, 2, 3])
2. print(data[0])
3. #输出 1

多维数组的分片

1. 多维数组的分片与字符串、列表的分片规则相同。


2. data[m : n] ,分片是左闭右开区间,即包含 m 不包含 n。


3. 冒号前后的值是可以省略的:省略后冒号前默认为 0,冒号后默认为列表的长度。


4. 对列表分片后的数据进行更改不会影响原数据,但对多维数组分片后的数据进行更改会影响到原数据。


5. 分片支持传入第三个参数——步长,即分片时每隔几个数据取一次值。步长的默认值为 1,当步长为负数时,会将顺序反转。

data = np.array([1, 2, 3])
print(data[0:2])  # 获取索引为 0 和 1 的元素
# 输出:[1 2]
 
data = np.array([1, 2, 3])
# 获取前 2 个元素
print(data[:2])
# 输出:[1 2]
 
# 获取后 2 个元素
print(data[-2:])
# 输出:[2 3]
 
# 获取所有元素
print(data[:])
# 输出:[1 2 3]
 
lst_data = [1, 2, 3]
lst_data2 = lst_data[:]
lst_data2[0] = 6
print(lst_data)
# 输出:[1, 2, 3]
 
arr_data = np.array([1, 2, 3])
arr_data2 = arr_data[:]
arr_data2[0] = 6
print(arr_data)
# 输出:[6 2 3]
 
data = np.array([1, 2, 3, 4, 5, 6])
print(data[::2])  # 省略前两个参数
# 输出:[1 3 5]
 
data = np.array([1, 2, 3, 4, 5, 6])
print(data[::-1])  # 省略前两个参数
# 输出:[6 5 4 3 2 1]

简单的数据分析

集中趋势

1. 集中趋势所反映的是一组数据所具有的共同趋势,它代表了一组数据的总体水平。

2. 其常用指标有平均数、中位数和众数。


离中趋势

1. 离中趋势是指一组数据中各数据值以不同程度的距离偏离其中心(平均数)的趋势。


2. 其常用指标有极差、方差和标准差。


3. 极差是一组数据的最大值减去最小值得到的,反应了数据变动的最大范围。


4. 方差和标准差都能反映数据的离散程度,也就是数据的波动程度。方差和标准差的值越小,说明数据越稳定。  


数据分析操作方法

1. 在 numpy 上调用对应函数并传入数据如:np.std(data)。

import numpy as np
 
player1 = np.array([4, 16, 5, 8, 11, 40, 4, 12, 23, 13])
player2 = np.array([9, 8, 12, 11, 9, 10, 13, 10, 11, 13])
player3 = np.array([4, 6, 8, 5, 6, 7, 6, 5, 8, 6])
print("1号玩家平均数",np.median(player1))
print("2号玩家平均数",np.median(player2))
print("3号玩家平均数",np.median(player3))
print("1号玩家方差",np.std(player1))
print("2号玩家方差",np.std(player1))
print("3号玩家方差",np.std(player1))
 
#输出结果
#1号玩家平均数 11.5
#2号玩家平均数 10.5
#3号玩家平均数 6.0
#1号玩家方差 10.44222198576529
#2号玩家方差 10.44222198576529
#3号玩家方差 10.44222198576529

致谢

感谢您花时间阅读这篇文章!如果您对本文有任何疑问、建议或是想要分享您的看法,请不要犹豫,在评论区留下您的宝贵意见。每一次互动都是我前进的动力,您的支持是我最大的鼓励。期待与您的交流,让我们共同成长,探索技术世界的无限可能!

相关文章
|
15天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
15天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
15天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
5天前
|
设计模式 缓存 开发者
Python中的装饰器:从入门到实践####
本文深入探讨了Python中强大的元编程工具——装饰器,它能够以简洁优雅的方式扩展函数或方法的功能。通过具体实例和逐步解析,文章不仅介绍了装饰器的基本原理、常见用法及高级应用,还揭示了其背后的设计理念与实现机制,旨在帮助读者从理论到实战全面掌握这一技术,提升代码的可读性、可维护性和复用性。 ####
|
12天前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。
|
15天前
|
设计模式 缓存 开发框架
Python中的装饰器:从入门到实践####
本文深入探讨了Python中装饰器的工作原理与应用,通过具体案例展示了如何利用装饰器增强函数功能、提高代码复用性和可读性。读者将学习到装饰器的基本概念、实现方法及其在实际项目开发中的实用技巧。 ####
26 3
|
11天前
|
数据采集 数据可视化 数据挖掘
掌握Python数据分析,解锁数据驱动的决策能力
掌握Python数据分析,解锁数据驱动的决策能力
|
11天前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
23 0
|
3月前
|
数据可视化 数据挖掘 Linux
震撼发布!Python数据分析师必学,Matplotlib与Seaborn数据可视化实战全攻略!
在数据科学领域,数据可视化是连接数据与洞察的桥梁,能让复杂的关系变得直观。本文通过实战案例,介绍Python数据分析师必备的Matplotlib与Seaborn两大可视化工具。首先,通过Matplotlib绘制基本折线图;接着,使用Seaborn绘制统计分布图;最后,结合两者在同一图表中展示数据分布与趋势,帮助你提升数据可视化技能,更好地讲述数据故事。
53 1
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
数据可视化大不同!Python数据分析与机器学习中的Matplotlib、Seaborn应用新视角!
在数据科学与机器学习领域,数据可视化是理解数据和优化模型的关键。Python凭借其强大的可视化库Matplotlib和Seaborn成为首选语言。本文通过分析一份包含房屋面积、卧室数量等特征及售价的数据集,展示了如何使用Matplotlib绘制散点图,揭示房屋面积与售价的正相关关系;并利用Seaborn的pairplot探索多变量间的关系。在机器学习建模阶段,通过随机森林模型展示特征重要性的可视化,帮助优化模型。这两个库在数据分析与建模中展现出广泛的应用价值。
50 2