目录
1.npz文件
2.npy文件
3.csv文件
4.列表、元组、numpy矩阵
①列表
②元组(不可变列表)
③Numpy数组
③Numpy矩阵
1.npz文件
npz是python的压缩文件
①读取文件
#独取文件 读取当前文件夹下的data的mag_cs dataset = np.load('./data/mag_cs.npz', allow_pickle=True) #通过上面这行代码得到的是一个`numpy.lib.npyio.NpzFile`文件
②NpzFile对象有个属性files
可以通过它查看该压缩文件的所有文件名,通过dataset['文件名']来获取文件内容
print(dataset.files) print(len(dataset.files)) # 文件内容、type、shape(以adj_matrix.data为例) print(dataset['adj_matrix.data']) print(type(dataset['adj_matrix.data'])) print(dataset['adj_matrix.data'].shape)
③保存为.npz文件
# 将x、y、z数组,分别保存为x, sinx, z这三个npz文件 x = np.arange(1, 10) y = np.sin(x) z = 2 * x + 0.5 np.savez_compressed('./data/my_dataset', x=x, sinx=y, z=z)
2.npy文件
①读取与保存
import numpy as np data = np.zeros((3,4)) np.save('data.npy', data) #保存 del data data = np.load('data.npy') #读取 print('type :', type(data)) print('shape :', data.shape) print('data :') print(data)
输出如下:
type :
②npy转csv
-
加载npy格式的数据文件
-
给每一列数据添加一个列名
-
以csv格式保存数据
import pandas as pd import numpy as np import csv data = np.load('data.npy') columns = ['A', 'B', 'C', 'D'] # 这是个list?还是数组? #保存为csv with open('data.csv', 'w') as f: csv_writer = csv.writer(f) csv_writer.writerow(columns) csv_writer.writerows(data) #查看保存的csv df = pd.read_csv('data.csv') print(df)
3.csv文件
1.使用csv.writer()创建
import csv headers = ['学号','姓名','分数'] rows = [('202001','张三','98'), ('202002','李四','95'), ('202003','王五','92')] with open('score.csv','w',encoding='utf8',newline='') as f : writer = csv.writer(f) # 创建 writer.writerow(headers) # 写入列名 writer.writerows(rows) # 写入数据
2.使用csv.Dictwriter()创建
import csv headers = ['学号','姓名','分数'] rows = [{'学号':'202001','姓名':'张三','分数':'98'}, {'学号':'202002','姓名':'李四','分数':'95'}, {'学号':'202003','姓名':'王五','分数':'92'}] with open('score.csv','w',encoding='utf8',newline='') as f : writer = csv.DictWriter(f,headers) writer.writeheader() writer.writerows(rows)
3.使用writelines()创建:
import csv headers = ['学号,姓名,分数','\n'] csv = ['202001,张三,98','\n', '202002,李四,95','\n', '202003,王五,92'] with open('score.csv', 'w',encoding='utf8',newline='') as f: f.writelines(headers) # write() argument must be str, not tuple f.writelines(csv)
4.列表、元组、numpy矩阵
python没有数组
1、元组的元素可以为:元组、列表、字典、集合 (列表作为元组的元素时,列表内的值可以改动)
2、列表的元素可以为:元组、列表、字典、集合
3、字典的元素可以为:元组、列表、字典、集合
4、集合的元素可以为:元组
①列表
列表中存放的数据是可以进行修改,比如"增"、“删”、“改”、“查”
# 使用[]存储,使用 , 分隔每个值 a = [1, 2, 3] a = [‘xiaoWang’,‘xiaoZhang’,‘xiaoHua’] # 列表中的元素可以是不同类型的 a = [1, ‘a’] # 列表元素修改 a[2] = "我喜欢她啊" #字符串转列表 name = '小阿丁,小红' list1 = list(name) # 列表的嵌套 info = [['张三', 'M', '45'], ['李四', 'F', '36'], ['王五', 'M', '42']] #取出李四年龄 print(schoolNames[1][2])
②元组(不可变列表)
元组的元素不能修改。元组使用小括号,列表使用方括号。 元组无法进行增删改。但可以拼接。
tuple = (1, 9, 7, 5, 6, 2,) # 元组转列表 list1 = list(tuple) # 列表转元组 tuple2 = tuple(list1) # 元组嵌套 tup3 = ('python', (1, 2, 3), 'java', 3) tup3 = ('python', [1, 2, 3], 'java', 3)
③Numpy数组
Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。
Numpy是专门针对数组的操作和运算进行了设计,所以数组的存储效率远优于Python中的嵌套列表。
Numpy数组中的所有元素的类型都是相同的,而Python列表中的元素类型是任意的。
list可以存储一维数组,通过列表的嵌套可以实现多维数组。
list不具有array的全部属性(如维度、转置等)
import numpy as np a = np.array([[1,2,0,1],[1,6,9,55],[7,8,9,5]]) #a为数组 print(a.T) #输出a的转置
③Numpy矩阵
Numpy数组(arry)和矩阵(matrix)的区别:
Numpy matrices 是2维的
Numpy arrays (ndarrays) 可以是多维的
Matrix是Array的一个小的分支。matrix 拥有array的所有特性。
numpy中matrix的主要优势是:
相对简单的乘法运算符号。如,matrix: ab,就是矩阵积。 numpy里面arrays遵从逐个元素的运算。如array:cd,相当于matlab里面的c.d运算。而矩阵相乘,则需要numpy里面的dot命令 。
猜你喜欢
- 4小时前安全技能讲座 - 便携式灭火器 (Portable Fire Extinguishers )
- 4小时前uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -我创建的投票列表实现
- 4小时前BOM简介
- 4小时前Scipy 中级教程——优化
- 4小时前【我与Java的成长记】之封装,继承详解(一)(能看懂文字就能明白系列)
- 4小时前实时云渲染服务:流式传输 VR 和 AR 内容
- 4小时前怎么修改或移除WordPress后台仪表盘概览底部的版权信息和主题信息?
- 4小时前可视化 | 教你用Python实现热力图(一)
- 4小时前【Python】pip安装源、pip config命令 及 pip安装包位置 等相关问题
- 4小时前深度强化学习-DDPG算法原理与代码
网友评论
- 搜索
- 最新文章
- 热门文章