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

操作文件 loadtxt

loadtxt读取txt文本、、csv文件

loadtxt (fname,dtype<type'float'>comments='#',delimiter=None,converters=None,skiprows=0,usecols=None,unpack=False,ndmin=0, encoding='bytes')

参数

. 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))

5c9f0758cfa24c4eb1c7628395e222ab.png

9975860653dc41e7a9402662c30063f0.png 

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)

7bc4e249682f49df8422063136771c32.png

a104da239a60491b86a1861df0ce05da.png 

计算其 data3_txt 中的平均年龄 

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

52e4d4ed4e8a45e98674b71a4fe6c1c0.png

计算其 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)

7dabf0c3f1874c3dacfd62d53a0bdbee.png

 计算女生的平均身高

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

b84ae8e9be1540c594037fd1e6ff511a.png

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)

4f2b6de7e0ec40d39de6427a4feb3316.png

 

 

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python中,可以使用numpy库的loadtxt函数来读取文件。loadtxt函数可以读取普通文本文件和csv文件,并且可以根据需要设置分隔符。使用loadtxt函数的语法如下: ```python import numpy as np # 读取普通文本文件 data = np.loadtxt('filename.txt', delimiter=',') # 读取csv文件 data = np.loadtxt('filename.csv', delimiter=',') ``` 在以上代码中,'filename.txt'和'filename.csv'分别表示要读取文件名。如果是csv文件,则需要使用delimiter参数来指定分隔符,通常是逗号(','), 如果是普通文本文件,可以不设置分隔符,loadtxt函数会自动识别。读取的数据将存储在一个numpy数组中,并可以进一步进行处理和分析。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python使用numpy读取data文件](https://blog.csdn.net/weixin_48419914/article/details/124959775)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [利用Numpy读取操作文件详解](https://blog.csdn.net/qq_46044325/article/details/126550760)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

夏天的学习日记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值