Numpy 数据文件

news2024/9/23 7:22:16
  • Numpy 数据文件

Numpy 数据处理函数

loadtxt

  • np.loadtxt()函数常用的传入参数
    • dtype:所需的返回数组的数据类型。默认为float
    • comments:用于标识注释行的字符。默认为'#'
    • delimiter:指定分隔符字符或字符串。默认为任何空格字符
    • skiprows:指定要跳过的行数。默认为0,即不跳过任何行
    • usecols:指定要加载的列索引或范围。默认为None,表示加载所有列
    • encoding:指定文件的编码方式。默认为None,表示使用系统默认编码

savetxt

  • np.savetxt()函数常用的传入参数
    • fname:要保存的文件名或文件路径
    • fmt:格式化字符串,用于指定保存数据的格式
    • delimiter:指定分隔符字符或字符串。默认为空格
    • newline:行结束符。默认为系统默认行结束符
    • header:要写入文件开头的字符串。默认为空字符串
    • footer:要写入文件末尾的字符串。默认为空字符串
    • comments:注释字符或字符串,用于在每行开头添加注释。默认为'#'
    • encoding:指定文件的编码方式。默认使用系统默认编码

example1 

data.txt

1,2,3,4
2,3,4,5
5,6,7,8
6,7,8,9

main.py

import numpy as np

data = np.loadtxt("data.txt", delimiter=",")
print("raw data:")
print(data)

new_data = np.array([[7, 8, 9]])
np.savetxt("data.txt", new_data, delimiter=",", fmt="%d")

result

 

 

example2

data.txt

7,8,9,23,4123,5
0)data denote sentence
2,3,21,231,2,5
7,8,9,0,6,2
123,221,312,332,443,63
231,4,237,78,87,6

main.py

import numpy as np

data = np.loadtxt('data.txt', delimiter=',', \
                   dtype=int, skiprows=1, \
                   comments="0)",usecols=(0, 1))

print(data)

result

[[  2   3]
 [  7   8]
 [123 221]
 [231   4]]
>>> data[0][0]
2
>>> data[0][1]
3

example3

main.py

import numpy as np

data = np.loadtxt('data.txt', delimiter=',', \
                   dtype=int, skiprows=1, \
                   comments="0)",usecols=(0, 1))

data

#Array Data
1,2,3
4,5,6
#End of File

文件编码格式

几种常见的文件编码格式

  • ASCII码(American Standard Code for Information Interchange)
    • ASCII码是最早的字符编码标准,它使用8位二进制数表示256个字符
  • Unicode
    • Unicode是一种用于表示世界上所有字符的编码标准。Unicode为每个字符分配了一个唯一的二进制编码。
    • Unicode编码使用不同的方案来存储字符如UTF-8、UTF-16和UTF-32
    • UTF-8(Unicode Transformation Format-8)
      • UTF-8 是一种变长字符编码方案,它可以使用1到4个字节来表示Unicode字符。UTF-8编码在表示ASCII字符时与ASCII码兼容
    • UTF-16(Unicode Transformation Format-16)
      • UTF-16 是一种固定长度字符编码方案,它使用2个或4个字节来表示Unicode字符
      • UTF-16 编码主要用于表示表情符号和某些罕见字符
    • UTF-32(Unicode Transformation Format-32)
      • UTF-32 是一种固定长度字符编码方案,它使用4个字节来表示Unicode字符

chardet 

  • 根据文件内容推断出最可能的编码方式
import chardet

with open('data.txt', 'rb') as f:
    content = f.read()

result = chardet.detect(content)
print(result)


encoding = result['encoding']
confidence = result['confidence']

decoded_content = content.decode(encoding)

print(decoded_content)

{'encoding': 'ascii', 'confidence': 1.0, 'language': ''}
#Array Data
1,2,3
4,5,6
#End of File

 

codecs

  • 指定所需的输入和输出编码方式
import codecs

text = "快跑,川黛豫章!I'm a phycics undergraduate!"


encoded_text = codecs.encode(text, 'utf-8')
print("Encoded Text (UTF-8):", encoded_text)
print()
decoded_text = codecs.decode(encoded_text, 'utf-8')
print("Decoded Text (UTF-8):", decoded_text)
print()

encoded_text_ascii = codecs.encode(text, 'ascii', "ignore")
print("Encoded Text (ASCII):", encoded_text_ascii)
decoded_text_ascii = codecs.decode(encoded_text_ascii, 'ascii', "ignore")
print("Decoded Text (ASCII):", decoded_text_ascii)
print("因为压根没有汉字的,A:AMERICA")
print()

print("我们试试用其他的 UTF 解码一下")
decoded_text = codecs.decode(encoded_text, 'utf-16')
print("Decoded Text (UTF-16):", decoded_text)
print()

decoded_text = codecs.decode(encoded_text, 'utf-32')
print("Decoded Text (UTF-32):", decoded_text)
print()

 

Encoded Text (UTF-8): b"\xe5\xbf\xab\xe8\xb7\x91\xef\xbc\x8c\xe5\xb7\x9d\xe9\xbb\x9b\xe8\xb1\xab\xe7\xab\xa0\xef\xbc\x81I'm a phycics undergraduate!"

Decoded Text (UTF-8): 快跑,川黛豫章!I'm a phycics undergraduate!

Encoded Text (ASCII): b"I'm a phycics undergraduate!"
Decoded Text (ASCII): I'm a phycics undergraduate!
因为压根没有汉字的,A:AMERICA

我们试试用其他的 UTF 解码一下
Decoded Text (UTF-16): 뿥醷볯鶷믩ꮱꯧ膼❉⁡桰捹捩⁳湵敤杲慲畤瑡Ⅵ

Traceback (most recent call last):
  File "C:\Users\LX\Desktop\numpy 数据 example\main.py", line 26, in <module>
    decoded_text = codecs.decode(encoded_text, 'utf-32')
  File "C:\Python311\Lib\encodings\utf_32.py", line 11, in decode
    return codecs.utf_32_decode(input, errors, True)
UnicodeDecodeError: 'utf-32-le' codec can't decode bytes in position 0-3: code point not in range(0x110000)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/798933.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt : day3

1.完成简易闹钟 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTextToSpeech> //播报类 #include <QTimer> //定时器类 #include <QTime> //时间类QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEcla…

clickhouse分布式查询降级为本地查询

在基于 clickhouse 做类数仓建模时通常的做法是在本地创建物化视图&#xff0c;然后使用分布式表做代理对外提供服务。我们知道 clickhouse 对于 DQL 内部实现了分布式&#xff0c;而对于 DDL 则需要我们自动实现比如&#xff1a; drop table table_name on cluster cluster_n…

【6】toLocaleString、toLocaleDateString、toLocaleTimeString等toLocale系列方法的使用及案例

一、介绍 在当今前端开发的领域里&#xff0c;快速、高效的项目构建工具以及使用最新技术栈是非常关键的。ViteVue3 组合为一体的项目实战示例专栏将带领你深入了解和掌握这一最新的前端开发工具和框架。 作为下一代前端构建工具&#xff0c;Vite 在开发中的启动速度和热重载…

医学多模态综述

原文链接&#xff1a;https://arxiv.org/abs/2307.07362 一个医学多模态综述&#xff0c;本人搞分割的重点看了一下分割的&#xff0c;其余任务没时间细看我就截了个模型汇总图&#xff0c;想详细了解的去喵一下上面这个论文就行 数据集汇总 Report generation 报告生成 报告…

效率与质量兼备的6个设计工具!

今天本文为大家推荐的这6个设计工具&#xff0c;将帮助设计师实现高效工作&#xff0c;同时也更好地展示自己的创作力&#xff0c;一起来看看吧&#xff01; 1、即时设计 即时设计是一款国内的设计工具&#xff0c;它为设计师提供了非常多实用的设计功能和精致的设计素材&…

变分自编码器VAE代码

一&#xff0c;Auto-Encoder(AE) 自编码器的目的是自己训练自己&#xff0c;他的输入和输出是一样的。比如28*28的黑白手写数字图片(单通道)&#xff0c;如果使用矩阵形式进行表达&#xff0c;真正有作用的特征是哪些数值为1的地方&#xff0c;以及他们在矩阵空间的位置。而大部…

Android13导入OpenCV4.8流程

网上看了很多流程都不能正常导入OpenCV&#xff0c;有一堆报错&#xff0c;而且还有限制&#xff0c;我记一下我的处理方式 首先这个博客主要解决以下问题 1、不需要项目选择native C&#xff0c;使用最新的OpenCV库 2、不用复制文件&#xff0c;不需要手动改动项目自身的bu…

亲测解决Git inflate: data stream error (incorrect data check)

Git inflate: data stream error (incorrect data check) error: unable to unpack… 前提是你的repository在github等服务器或者其他路径有过历史备份/副本&#xff0c;不要求是最新版本的&#xff0c;只要有就可能恢复你做的所有工作。 执行git fsck --full检查损坏的文件 在…

享元模式-提供统一实现对象的复用

下围棋时&#xff0c;分为黑白棋子。棋子都一样&#xff0c;这是出现的位置不同而已。如果将每个棋子都作为一个独立的对象存储在内存中&#xff0c;将导致内存空间消耗较大。我们可以将其中不变的部分抽取出来&#xff0c;只存储它的位置信息来实现节约内存。 图 围棋 1 享元模…

Linux-DHCP安装配置流程

DHCP 介绍 DHCP&#xff08;Dynamic Host Configuration Protocol&#xff09;是一种网络协议&#xff0c;用于在局域网(LAN)中自动分配IP地址和其他网络配置信息给计算机设备。DHCP旨在简化网络管理&#xff0c;允许设备自动获取IP地址&#xff0c;无需手动配置&#xff0c;…

哈工大计算机网络课程局域网详解之:无线局域网

哈工大计算机网络课程局域网详解之&#xff1a;无线局域网 文章目录 哈工大计算机网络课程局域网详解之&#xff1a;无线局域网IEEE 802.11无线局域网802.11体系结构802.11&#xff1a;信道与AP关联 本节介绍一下平时经常使用的一个无线局域网技术&#xff0c;也就是通常我们使…

《机器学习公式推导与代码实现》chapter22-EM算法

《机器学习公式推导与代码实现》学习笔记&#xff0c;记录一下自己的学习过程&#xff0c;详细的内容请大家购买作者的书籍查阅。 EM算法 作为一种迭代算法&#xff0c;EM算法(expectation maximization&#xff0c;期望极大值算法)用于包含隐变量的概率模型参数的极大似然估…

devops(后端)

1.前言 该devpos架构为gitlabjenkinsharbork8s&#xff0c;项目是java项目&#xff0c;流程为从gitlab拉取项目代码到jenkins&#xff0c;jenkins通过maven将项目代码打成jar包&#xff0c;通过dockerfile构建jdk环境的镜像并把jar包放到镜像中启动&#xff0c;构建好的镜像通…

springboot运行报错Failed to load ApplicationContext for xxx

Failed to load ApplicationContext for报错解决方法 报错Failed to load ApplicationContext for 报错Failed to load ApplicationContext for 网上找了一堆方法都尝试了还是没用 包括添加mapperScan&#xff0c;添加配置类 配置pom文件 [外链图片转存失败,源站可能有防盗链机…

com.android.ide.common.signing.KeytoolException:

签名没问题但是提示Execution failed for task :app:packageDebug. > A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable > com.android.ide.common.signing.KeytoolException: Failed to read ke…

21.2:象棋走马问题

请同学们自行搜索或者想象一个象棋的棋盘&#xff0c; 然后把整个棋盘放入第一象限&#xff0c;棋盘的最左下角是(0,0)位置 那么整个棋盘就是横坐标上9条线、纵坐标上10条线的区域 给你三个 参数 x&#xff0c;y&#xff0c;k 返回“马”从(0,0)位置出发&#xff0c;必须走k步 …

数据结构—串

4.1串 4.1.1串的定义 串&#xff08;String&#xff09;——零个或多个任意字符组成的有限序列 S"a1 a2...an"串的定义——几个术语 子串&#xff1a;串中任意个连续字符组成的子序列称为该串的子串 例如&#xff0c;“abcde”的子串有&#xff1a; “ ”、“a”、…

【C++】【自用】选择题 刷题总结

文章目录 【类和对象】1. 构造、拷贝构造的调用2. 静态成员变量3. 初始化列表4. 成员函数&#xff1a;运算符重载5. 友元函数、友元类55. 特殊类设计 【细节题】1. 构造 析构 new \ deletet、new[] \ delete[] 【类和对象】 1. 构造、拷贝构造的调用 #include using namespace…

大数据面试题:超详细版MapReduce工作原理

面试题来源&#xff1a; 《大数据面试题 V4.0》 大数据面试题V3.0&#xff0c;523道题&#xff0c;679页&#xff0c;46w字 参考答案&#xff1a; MapReduce详细流程&#xff1a; 1、准备待处理文件&#xff08;200M&#xff09; 2、submit()对原始文件进行切片分析&#…

热点活动-秒杀功能设计

一、需求描述 秒杀活动是电子商务兴起后出现的一种新型的购物方式&#xff0c;通过网上APP、小程序等平台推出一些低于市场价格的商品&#xff0c;提升购买率的营销活动&#xff0c;所有买家在同一时间网上抢购的一种销售方式。对比其他的营销活动&#xff0c;秒杀限时性更强&…