利用Numpy读取和操作文件的详解

操作文件 loadtxt

loadtxt读取txt文本、、csv文件

loadtxt (fname,dtype

参数

. fname:指定文件名称或字符串。支持压缩文件,包括gz、bz格式。

. dtype:数据类型。默认float。

. comments:字符串或字符串组成的列表。表示注释字符集开始的标志,默认为#。

. delimiter:字符串。分隔符。

· converters:字典。将特定列的数据转换为字典中对应的函数的浮点型数据。例如将空值转换为O,默认为空。

. skiprows:跳过特定行数据。例如跳过前1行(可能是标题或注释)。默认为0

. usecols:元组。用来指定要读取数据的列,第一列为0。例如(1,3,5),默认为空。

. unpack:布尔型。指定是否转置数组,如果为真则转置,默认为False。

. ndmin:整数型。指定返回的数组至少包含特定维度的数组。值域为0、1、2,默认为0。

. encoding:编码,确认文件是gbk还是utf-8格式

返回从文件中读取的数组

1、读取普通文件

import numpy as np
#读取普通文件,可以不用设置分隔符(空格,制表符)
data=np.loadtxt('data1.txt',dtype=np.int32)
print(data,np.shape(data))
#读取csv文件,需要设置分隔符,csv文件默认分割符为逗号 ,
data2=np.loadtxt('data1.csv',delimiter=',',dtype=object)
print(data2,np.shape(data2))

利用Numpy读取和操作文件的详解

利用Numpy读取和操作文件的详解

2、不同列,标识不同信息 数据读取

#普通读取
data2_txt=np.loadtxt('data2.txt',delimiter=' ',usecols=1,skiprows=1,encoding='UTF-8')
print(data2_txt)
#设置数据结构类型来读取数据
user_info=np.dtype([('name','U2'),('age','i1'),('sex','U1'),('heigh','i2')])
print(user_info)
#使用自定义的数据类型,读取数据
data3_txt=np.loadtxt('data2.txt',dtype=user_info,skiprows=1,encoding='utf-8')
print(data3_txt)

利用Numpy读取和操作文件的详解

利用Numpy读取和操作文件的详解

计算其 data3_txt 中的平均年龄

#第一步获取文件中的年龄列表
data3_txt['age']
#第二步调用平均值函数
arveage=np.mean(data3_txt['age'])
print(arveage)

利用Numpy读取和操作文件的详解

计算其 data3_txt 文件中的平均身高和中位数

data3_txt['heigh']
arveage_heigh=np.mean(data3_txt['heigh'])
print(arveage_heigh)
median_heigh=np.median(data3_txt['heigh'])
print(median_heigh)

利用Numpy读取和操作文件的详解

计算女生的平均身高

#第一步直接统计出data3_txt文件中性别为女
isgirl=data3_txt['sex']=='女'
print(isgirl)
#采用二维数组的方式来调取女生的身高
data3_txt['heigh'][isgirl]
print(np.mean(data3_txt['heigh'][isgirl]))

利用Numpy读取和操作文件的详解

3、读取指定的列

读取指定的列,usecols=(1,2),标识只读取第2列和第3列
user_info=np.dtype([('age','int_'),('sex','U1')])
print(user_info)
data4_txt=np.loadtxt('data2.txt',encoding='utf-8',skiprows=1,usecols=(1,2),dtype=user_info)
print(data4_txt)

利用Numpy读取和操作文件的详解

Original: https://blog.csdn.net/qq_46044325/article/details/126550760
Author: 编程贝多芬
Title: 利用Numpy读取和操作文件的详解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/758681/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球