numpy数组04-数组的轴和读取数据

本文介绍了numpy中数组的轴概念,如何使用numpy读取并处理CSV文件,以及数组转置的三种方法,包括transpose、T和swapaxes函数的应用。

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

一、数组的轴

在numpy中数组的轴可以理解为方向,使用0,1,2...数字表示。

对于一个一维数组,只有一个0轴,对于2维数组(如shape(2,2)),有0轴和1轴,对于一个三维数组(如shape(2,2,3)),有0,1,2轴。

对于二维数组:axis = 0表示列;axis = 1表示行。

如下图所示:

对于三位数组来说:axis = 0表示shape(2,2,3)中的第一个2,可以理解为有几块,几个维度;axis = 1表示列;axis = 2表示行。

 示例代码如下:

import numpy as np


b = np.random.randint(0, 5, [3, 3, 4])  # 创建一个三维数组,数字范围为(0,5)
print(b)
print(b.max(axis=0))   # 沿着维度方向的最大值
print(b.max(axis=1))   # 列的最大值
print(b.max(axis=2))   # 行的最大值

输出结果如下:

二、numpy读取数据

让numpy读取CSV文件(Comma -  Separated Value)逗号分隔值文件 。

显示:表格状态

源文件:换行和都好分割行列的格式化文本,每一行的数据表示一条记录。

在numpy中通过np.loadtxt(frame.dtype = np.float.delimiter = None,skiprows = 0,usecols = None, unpack = False)读取文件。

其中:frame为文件名,也就是文件所在的文件夹路径。

dtype:数据类型,选择CSV的字符串以什么数据类型读入到数组中,默认np.float

delimiter:分割字符串,默认是任何空格,改为逗号。

skiprows:跳过前x行,一般跳过第一行表头。

usecols:读取指定的列,索引,元组类型

unpack:如果True,读入属性将分别写入不同数组变量;False读入数据只写入一个数组变量,默认False。(用于转置)

我们将CSV文件放在子目录下,示例代码如下:

import numpy as np


us_file_path = "US_video_data_numbers.csv"
uk_file_path = "GB_video_data_numbers.csv"

t1 = np.loadtxt(us_file_path, delimiter=",", dtype="int")
print(t1)
print("分割线---------------------分割线")
t2 = np.loadtxt(us_file_path, delimiter=",", dtype="int", unpack=True)
print(t2)

输出结果如下所示:

通过unpack对文件内容进行了转置,即行与列互相调换。

2.1 数组进行转置的三种方法

转置是一种变换,对于numpy中的数组来说,就是在对角线方向交换数据,目的也是更方便的去处理数据。

1)通过transpose对数组进行转置(数组.transpose()):

2)通过数组.T对数组进行转置。

3)以二维数组为例,通过数组.swaoaxes(1,0)轴进行交换。

示例代码如下所示:

import numpy as np


t = np.arange(24).reshape(4, 6)
print(t)
print("第一种方法")
print(t.transpose())
print("第二种方法")
print(t.T)
print("第三种方法")
print(t.swapaxes(1, 0))

输出结果如下所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一道秘制的小菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值