Python数据分析-numpy相关操作复习1-2

python数据分析报告+代码,python数据分析报告 范文 ① Python所有方向的学习路线图,清楚各个方向要学什么东西② 600多节Python课程视频,涵盖必备基础、爬虫和数据分析③ 100多个Python实战案例,含50个超大型项目详解,学习不再是只会理论④ 20款主流手游迫解 爬虫手游逆行迫解教程包⑤ 爬虫与反爬虫攻防教程包,含15个大型网站迫解⑥ 爬虫APP逆向实战教程包,含45项绝密技术详解⑦ 超300本Python电子好书,从入门到高阶应有尽有⑧ 华为出品独家Python漫画教程,手机也能学习。 阅读详情

目录

1.数组简介和数组的构造

2. 数组的取值和赋值

1.数组简介和数组的构造

#导入numpy模块
import numpy as np

Arrays

调用np.array()从list初始化数组

#构造数组
a = numpy.array([1,2,3])
print(a)
#out<<
[1,2,3]
#打印元素类型
print(type(a))
#out<<
<class 'numpy.ndarray'>
#对比
type([1,2,3])
#out<<
list
#构造矩阵
b = np.array([[1,2,3],[3,2,1]])
print(b)
#out<<
[[1 2 3]
 [3 2 1]]
#shape用于输出矩阵维数
print(a,shape,b.shape)
#out<<
(3,) (2, 3)
#根据坐标,输出矩阵的元素
print(b[0,2])
#out<<
3

常用函数,方便用来创建数组(矩阵)

#创建全是0元素的数组的函数
#构造一个2行3列的0矩阵
a = np.zer0s((2,3))
print(a)
#out<<
[[0. 0. 0.]
 [0. 0. 0.]]

*注意函数使用的括号,有两层,容易出错!

#创建全是1元素的数组的函数
b = np.ones((2,3))
print(b)
#out<<
[[1. 1. 1.]
 [1. 1. 1.]]
#full(),以某元素充满,构造一个同一元素的数组
c = np.full((2,3),5)
print(c)
#out<<
[[5 5 5]
 [5 5 5]]
#eye(),创建一个对角矩阵
d = np.eye(5)
print(d)
#out<<
[[1. 0. 0. 0. 0.]
 [0. 1. 0. 0. 0.]
 [0. 0. 1. 0. 0.]
 [0. 0. 0. 1. 0.]
 [0. 0. 0. 0. 1.]]
#random()生成随机矩阵
#生成0到1的4行5列数组
e = np.random.random((4,5))
print(e)
#out<<
[[0.10741274 0.6000198  0.85585006 0.72483361 0.44521006]
 [0.13794356 0.9610332  0.31433672 0.83437519 0.43897039]
 [0.9306755  0.08639974 0.19172991 0.65244492 0.31036739]
 [0.54068172 0.46926277 0.83960664 0.87333669 0.76868625]]
#empty()函数,随机生成多个数组,数组个数以及维度都是固定的
#2个3行4列
f = np.empty((2,3,4),dtype = float)
print(f)
#out<<
[[[4.41990004e+222 2.23119629e-046 2.21211602e+214 6.01346953e-154]
  [6.01334637e-154 5.28595595e-085 8.88054495e+252 9.05437256e+271]
  [5.42373773e-109 1.16304905e+214 6.01346953e-154 5.74381615e+169]]

 [[8.30443188e-114 1.22829239e+184 6.01346953e-154 6.01334637e-154]
  [5.28595595e-085 8.88054495e+252 3.13146950e-120 6.01334503e-154]
  [2.46090679e-154 2.93573416e+222 1.36181966e+161 5.43185167e-096]]]
#arrange() 按要求构造数组
#左开右闭
e = np.arange(1,15,3)
print(e)
#out<<
[ 1  4  7 10 13]
print(e.shape)
#out<<
(5,)
#数组可以有不同的数据类型,注意区分数据类型dtype,数组类型type
arr = np.array([11,2,3,4,5])
print(arr.dtype)
#out<<
int32
#生成数组时可以指定数据类型,如果不指定numpy会自动匹配合适的类型
#使用astype()函数可以复制数组并转换数据类型
int_arr = np.array([1,2,3,4,5])
print(int_arr,int_arr.dtype)
#out<<
[1 2 3 4 5] int32
float_arr = np.array([3.4,4.5,2.3,-3.4])
print(float_arr)
#out<<
[ 3.4  4.5  2.3 -3.4]
#使用astype将float转换为int时小数部分被舍弃
int_arr = float_arr.astype(np.int64)
print(int_arr,int_arr.dtype)
#out<<
[ 3  4  2 -3] int64
#使用astype把字符串转换为数组,如果失败便抛出异常
str_arr = np.array(['1.24','2.2','5.8','assas'],dtype = np.string_)
str_arr
#out<<
array([b'1.24', b'2.2', b'5.8', b'assas'], dtype='|S5')
#astype使用其他数组的数据类型作为参数
int_arr = np.arrange(10)
float_arr = np.array([1.3,2.4,3.5,45.0,5.8])
print(float_arr.dtype,int_arr.dtype)
#out<<
float64 int32
int_arr.astype(dtype = float_arr.dtype)
#out<<
array([0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])

2.数组取值和赋值

#numpy含有多种取值的方式
a = np.array([[1,2,3],[1,2,3],[2,3,3]])
print(a)
print(a.shape)
print(a.dtype)
#out<<
[[1 2 3]
 [1 2 3]
 [2 3 3]]
(3, 3)
int32
#数组切片(同样用于多维数组)
b = a[0:2,0:2].copy()
print(b)
#out<<
[[1 2]
 [1 2]]
#修改指定元素的值
b[0,0] = 11111
print(b)
print(a)
#out<<
[[11111     2]
 [    1     2]]
[[1 2 3]
 [1 2 3]
 [2 3 3]]
#创建3*4的二维矩阵/数组提取行元素
row_r1 = a[1,:]
print(row_r1,row_r1.shape)
row_r2 = a[1:2,:]
print(row_r2,row_r2.shape)
#out<<
[[1 2 3]] (1, 3)
#提取列元素
col_r1 = a[:,1]
print(col_r1)
#更自由的取值和组合
a = np.array([[12,2],[3,4],[4,5]])
print(a)
#out<<
[[12  2]
 [ 3  4]
 [ 4  5]]
#相当于提取a[0][0],a[1][1],a[2][0]
print(a[[0,1,2],[0,1,0]])
[0],a[1][1],a[2][0]
print(a[[0,1,2],[0,1,0]].shape)
#out<<
[12  4  4]
(3,)
#注意语法
print(np.array([a[0,0],a[1,1],a[2][0]]))
[12  4  4]
#创建二维数组
a = np.array([[1,2,3], [4,5,6], [7,8,9], [10, 11, 12]])
print(a)
#out<<
[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]
#用下标生成一个向量
b = np.array([0,2,0,1])
a[np.arange(4),b]
#out<<
array([ 1,  6,  7, 11])
a[np.arange(4),b] += 10#对指定元素进行相关操作
print(a)
#out<<
[[11  2  2]
 [ 1  2 13]
 [11  2  4]
 [ 1 12  3]]
#根据条件判断取元素
a = np.array([[1,2],[3,4],[5,6]])
print(a)
#out<<
[[1 2]
 [3 4]
 [5 6]]
#根据条件对每个元素判断
bool_index = (a > 2)
print(bool_index)
#out<<
[[False False]
 [ True  True]
 [ True  True]]
#用刚才的布尔型数组作为下标就可以去除符合条件的元素
print(a[bool_index])
#out<<
[3 4 5 6]
print(a[a>2])
#out<<
[3,4,5,6]
Python数据分析的详细指南(复习篇) Python最初被设计为一种通用的、解释型的高级编程语言,用于多种应用,包括网站开发、脚本编写、自动化运维等。然而,随着数据科学的兴起,Python逐渐在数据分析领域崭露头角。Pandas是一个开源的Python库,它提供了快速、灵活且富有表达力的数据结构,以便你能够轻松地进行数据清洗、转换、分析和可视化。1、Pandas支持多种数据格式的读取,如CSV、Excel、SQL、JSON等。2、数据清洗是数据分析中不可或缺的一步,Pandas提供了丰富的数据清洗功能,如缺失值处理、重复值处理、数据类型转换等。 阅读详情

相关推荐

【Python数据分析与可视化】期末复习试题集

1.Jupyter notebook不具备的功能是 () Jupyter notebook可以直接生成一份交互式文档 Jupyter notebook可以安装Python库 Jupyter notebook可以导出HTML文件 Jupyter notebook可以将文件分享给他人 right_answers: Jupyter notebook可以将文件分享给他人 2.在Jupyter notebook的命令模式下,要查看所有快捷..

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 2万+

numpy基础

numpy二维数组切片row_r1 = a[1, :]    # Rank 1 view of the second row of a    这里是运用行列的方法,输出的某行的数据row_r2 = a[1:2, :]  # Rank 2 view of the second row of a   这里是运用索引的方法,输出的元素[[]]print(row_r1, row_r1.shape)  # ...

weixin_38267719的博客 473

【Python数据分析与可视化】期末复习笔记整理(不挂科)

【Python数据分析与可视化】期末复习笔记3. NumPy数值计算基础忘了的函数ndarray 对象属性和数据转换4. Pandas统计分析 3. NumPy数值计算基础 忘了的函数 linspace(start, end, count):创建等差数列 logspace(start, end, count):创建等比数列 diag:创建对角矩阵,即对角线元素为0或指定值,其他元素为0 eye:创建一个对角线位置为1,其他位置全为0的矩阵 sort:axis=1,沿横轴排序,axis=0,沿着纵轴排序.

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 8518

亲和性分析——商品推荐(机器学习)

任务描述 本关任务:编写代码,使用 Numpy 加载txt文件中的数据。相关知识 为了完成本关任务,你需要掌握:1.Numpy 是什么,2.如何使用 Numpy 加载文件中的数据。Numpy 是什么 NumPy 是 Python 语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。本关实训主要是使用 Numpy 读取文件中的数据。 二、第2关:处理 Numpy 加载到的数据 任务描述 本关任务:编写一个能计算商品购买人数的小程序。相关知识 为了完成本关任务,你需要

m0_56986719的博客 2445

UQLab——其他概率分布随机变量转换标准Gaussian分布

1、使用UQLab将其他类型的随机变量转换成标准Gaussian分布; 2、使用科学计数法输出样本,方便后续ANSYS的调用分析; 3、基于MC的可靠度分析。 原随机变量分布类型: % 调用UQLab进行采样 clc clear uqlab %% Specify these distributions as a UQLab INPUT object: PriorOpts.Marginals(1...

ikhui7的博客 3013

记录:rk3568适配开源GPU驱动(panfrost)

摘要:本文介绍了在RK3568芯片上移植Mali-G52 GPU驱动的过程。主要包括内核dts文件修改和内核配置调整两部分。

xuesong10210的博客 2233

matlab课堂笔记,斯坦福CS231n深度学习课程笔记翻译(一)

1def sign(x):2 if x > 0:3 return 'positive'4 elif x < 0:5 return 'negative'6 else:7 return 'zero'8for x in [-1, 0, 1]:9 print sign(x)10# Prints "negative", "zero...

weixin_35523579的博客 581

几何非线性-屈曲分析

结构系统的破坏分为两种,一类是因材料软化而引起的强度破坏,另一类是几何软化使得结构的几何形状发生极大变化,从而使结构丧失承载能力。在材料力学中是这样定义压杆失稳的:中心受压直杆(理想模型)在直线状态下平衡,由稳定平衡转化为不稳定平衡时所受的轴向压力的界限值,称为临界压力。中心受压直杆在临界压力的作用下,其直线形态的平衡开始丧失稳定性,简称为失稳。显然,这个定义只使用于理想的压杆模型,那么关于失稳和屈曲是否存在一般性定义呢?

YORU_NO_KUNI的博客 1万+

实用基础----python numpy

1.对应元素相乘: np.multiply() * x=np.array([[2,2,2],[3,4,5]]) #矩阵按行写入 y=np.array([[1,2,3],[1,2,3]]) print x*y print np.multiply(x,y) 两者运行的结果都是如此: 2.矩阵相乘: np.dot(A, B) x=np.array([[2,2,2],[3,4,5]]) y=np....

blue‘s blog 269

GEE:基于MODIS数据计算NDVI时间序列,并使用Savatsky-Golay(SG)滤波器对其进行平滑处理

优快云@_养乐多_本文将介绍如何在 Google Earth Engine (GEE) 平台中,使用 MODIS 数据计算 NDVI 时间序列,并对该数据集应用 Savitzky-Golay 滤波器,得到了一个新的平滑后的数据集。Savitzky-Golay 滤波器可以有效地去除信号中的噪声,并平滑信号的变化。该方法可以扩展到基于 MODIS 数据计算的任何指数或者波段。

养乐多的博客 1421

数仓建模—数据语义层

如今,企业产生大量数据,需要以正确的方式进行分析才能做出重要决策。数据可能来自多个来源并采用不同的格式,这使得清楚地了解其含义和重要性成为一项挑战。这就是语义层的用武之地。语义层存在于数据仓库和最终用户使用的应用程序之间。它为用户提供了简化且一致的数据视图,无论其基础数据源的复杂性如何。该逻辑层有助于映射物理数据结构以创建概念数据模型。它定义了数据元素之间的所有规则和关系,并以业务术语提供了数据的通用词汇表。然后,用户可以轻松地与数据进行交互,而无需了解其数据源的技术知识。

7万+

Numpy学习笔记(二)----数组

一、数组的创建 1.创建Numpy数组有三种不同的方法 从列表等其他Python的结构进行转换 使用Numpy内部功能函数 使用特殊的库函数 从列表等其他Python的结构进行转换 从Python列表创建数组。将Python列表或元组传递给数组函数以创建Numpy数组: import numpy as np a = np.array([1, 2, 3]) # 创建一个...

whason的博客 543

Panda3d 场景管理

许多简单的 3D 引擎维护一个 3D 模型列表,然后在每一帧对这些模型进行渲染。在这些简单的引擎中,必须分配一个3D模型(或从磁盘加载它),然后将其插入到要渲染的模型列表中。模型在插入到列表中之前对渲染器不“可见”。 Panda3D稍微复杂一些。它不是维护要呈现的对象列表,而是维护要呈现的对象树。对象在插入树之前对渲染器不可见。

u014077947的博客 1383

Python数据分析期末复习归纳

python数据分析期末复习 文章目录python数据分析期末复习前言一、第1、2章二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、第1、2章 分值:1~2分 python使用缩进来组织代码 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤

hughie的博客 7248

基于 STM32 的手持式安检金属探测器设计与实现

【代码】基于 STM32 的手持式安检金属探测器设计与实现。

weixin_42300449的博客 899

几种在NCBI中查询获取目的基因序列的方法

几种在NCBI中查询获取目的基因序列的方法 在NCBI中,如何查询并下载获得某物种的某特定功能的基因序列,相信对于看到此篇的大部分同学来说都不陌生了。想到对于刚开始接触生信的同学们来说,也许尚不能很熟练地在NCBI中查询想要的基因序列,因此在这里简要作了一个总结,希望对初学生信的同学们有所帮助。 此篇博文源于此前有同学问我,提到他导师给他布置任务,查找相关的文献,看相关文献中都报道了哪些细菌物种能够产生聚羟基脂肪酸酯(polyhydroxyalkanoate ,PHA),参与合成该产物的基因都有哪些,然后在

qq_23435961的博客 1万+

Python期末复习

np.random.randint(low, high=None, size=None, dtype='l'):生成一个整数或N维整数数组,取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数。df = pd.read_table('example.txt',encoding = 'gbk',sep = ',',nrows= 5)#nrow为读取行数。print('root=','%.4f'%i,'\n','迭代次数:',n,sep='')

howell55的博客 3166

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Python NumPy & Matplotlib 复习笔记

在数据分析和科学计算中,NumPy 和 Matplotlib 是两个不可或缺的 Python 库。

2301_77159812的博客 1648

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

期末复习数据分析-NumPy的使用

列表中其实是存在指针的,在python中虽然隐去了指针的概念,但是列表是有指针的,比如下面的列表在内存中存储是这样的,我们是通过指针,来指向对应的值,这样我们在存储的时候就需要即存储指针,又需要存储这个整数的对象,这样就浪费了内存和计算时间。内存分配:对于列表来说,它是一个可变类型数据,所以在分配内存的时候,就需要为它多分配一些额外的内存;列表中的元素在系统中是分散存储的,而numpy中的数组是连续存储的,这样数组在遍历所有元素的时候又不需要像列表那样,对内存地址进行查找,从而节省了内存资源。

2202_75331338的博客 1481

Python数据分析之复习知识点

文章目录系列文章一、判断题二、填空题 系列文章 Python数据分析之理论知识 也是比较理论类的知识点,可以看看 一、判断题 副本与视图是使用原数组数据的两种方式。副本产生的数据在内存单独开辟新空间,视图指向的数据与原数组对象属于一个内存空间。(√) sdecimal()方法仅用于判断字符串中的单个字符是否是十进制数,isdigit()判断十进制、二进制、全角数字是否是数字,(√) isnumeric()判断十进制、全角数字、汉字数字是否是数字。(√) Matplotlib绘制的图都是由二维坐标、三维坐标

陌小柠的博客 2352

python数据分析期末复习

pandas是Python的一个数据分析包,最初由AQR Capital Management于2008 年 4月开发,并于2009年底开源面市,由专注于Python数据包开发的PyData 开发团队继续开发和维护,属于 PyData项目的一部分。pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。pandas 的名称来自面板数据(panel data)和 Python 数据分析(data analysis)。

2301_81125272的博客 1241

python数据分析之Numpy基础

好久不看,基础都忘记了,再复习一遍! #numpy练习 import numpy as np #生成随机数组 data = np.random.randn(2,3) data array([[-0.11086926, 1.41892946, 1.28374622], [ 0.92468719, -0.09997067, 0.21467277]]) #数组大小 data...

silvia__y的博客 454

python基本语法和数据分析(numpy+matplotlib+pandas)

全面介绍了 Python 的基础语法、数据结构、类与对象、函数、模块以及常用库的使用方法。详细讲解了类与对象的定义和使用、函数的定义和调用、模块的导入和使用等。同时,深入探讨了字符串、列表、元组、集合、字典等数据结构的特性及其操作方法。此外,还介绍了 Jupyter Notebook 的快捷键、格式化输出、运算符、三元运算符、input() 和 eval() 函数等实用工具。文章还通过大量示例代码,展示了如何使用 Python 进行文件操作、数据分析(NumPy、Pandas)、数据可视化以及如何处理字符串

houliabc的博客 1795

python数据分析-numpy相关操作复习5-6

目录 5.逻辑运算 6.数组高级操作 5.逻辑运算 import numpy as np x_arr = np.array([1.1, 1.2, 1.3, 1.4, 1.5]) y_arr = np.array([2.1, 2.2, 2.3, 2.4, 2.5]) cond =np.array([True,False,True,True,False]) #满足条件(condition),输出x,不满足输出y print(np.where(cond,x_arr,y_arr)) #out<< [

cmdxly的博客 203

Python数据分析复习提纲(小白快速入门指南)

核心库:Pandas(数据处理)、NumPy(数值计算)、Matplotlib/Seaborn(可视化)、SciPy(科学计算)、Scikit-learn(机器学习)。基本流程:数据加载与探索 → 数据清洗 → 数据预处理 → 数据分析 → 可视化。

2302_79781355的博客 682

python数据分析-numpy相关操作复习7-8

目录 7.文件输入输出 8.练习题 7.文件输入输出 7.1 读取csv文件作为数组 arr = np.loadtxt('path\\name.txt',delimiter = ',') print(arr) #out<< [[ 1. 2. 3. 4. 4. 5.] [ 1. 2. 3. 4. 5. 6.] [ 1. 2. 34. 5. 5. 5.]] 7.2 数组文件读写 arr = np.arange(50).reshape(2,5,5) print(a

cmdxly的博客 224
下一篇: python数据分析-numpy相关操作复习3-4
xiaoliyu00
博客等级 码龄9年 4180粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值