Python 各种数据保存与读取方法——numpy,dict,dataframe等等

2023-11-12


前言

往往在做机器学习或者深度学习的时候,数据预处理部分需要大量的时间,如果每次debug都重新预处理数据,这样速度非常慢。
我有一个embedding的数据预处理过程,重新跑一次要两分钟,但是将预处理完的数据保存至本地后,导入数据只需要10秒,速度差距非常大。


一、写入与读取

1.Dataframe转csv,xlsx

Dataframe可以考虑转换为csv文件或者excel文件,CSV和excel的区别:

1.CSV是纯文本文件,可以记事本直接打开,excel不是纯文本,excel包含很多格式信息在里面。

2.CSV文件的体积会更小,创建分发读取更加方便,适合存放结构化信息,比如记录的导出,流量统计等等。

3.CSV文件在windows平台默认的打开方式是excel,但是它的本质是一个文本文件。
就把csv当作一种同时兼容记事本和excel的文件吧,如果是计算机专业的,存放数据集啥的,直接考虑csv格式。

代码如下(示例):

import pandas as pd

% csv的保存与读取
df.to_csv("xxx.csv",index=False,sep=',')
df = pd.read_csv('xxx.csv', sheet_name='xxx',)

% excel的保存与读取
df.to_excel("xxx.xlsx",header=None,index=False)
df = pd.read_excel('xxx.xlsx', sheet_name='xxx',)

2.numpy(ndarray转npy)

ndarray数据类型可以使用以下代码保存与读取。list类型数据也可以考虑先转换为numpy保存,读取npy文件之后再转为list。

import numpy as np
np.save('C:/Users/xxx/photos.npy', photos) %保存至本地
photos = np.load('C:/Users/xxx/photos.npy') %读取至本地

3.dict转txt

字典类型数据的保存与读取。

保存:

f = open('C:/Users/xxx/photos.txt','w')
f.write(str(word_index))
f.close()

读取:

f = open('C:/Users/xxx/photos.txt','r')
a = f.read()
word_index = eval(a)
f.close()

总结

本文总结了python常用的三种格式数据的保存与读取方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 各种数据保存与读取方法——numpy,dict,dataframe等等 的相关文章

随机推荐

  • 2023最新版本Activiti7系列-源码篇-初始化过程

    源码分析 1 设计模式 1 1 命令模式 https dpb bobokaoya sm blog csdn net article details 89115420 1 2 责任链模式 https dpb bobokaoya sm blog
  • xss攻击的了解

    常见的xss攻击方法 1 绕过XSS Filter 利用 lt gt 标签注入Html JavaScript代码 2 利用HTML标签的属性值进行xss攻击 例如 img src 当然并不是所有的Web浏览器都支持Javascript伪协议
  • 【LeetCode刷题】203 移除链表元素 java

    题目 给你一个链表的头节点 head 和一个整数 val 请你删除链表中所有满足 Node val val 的节点 并返回 新的头节点 示例 方法一 先对头节点做处理 使其不为val class Solution public ListNo
  • java一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。(java50道经典编程题)

    题目 一个数如果恰好等于它的因子之和 这个数就称为 完数 例如6 1 2 3 编程 找出1000以内的所有完数 对于这道题其实乍一看可能觉得比较困难 但是你只要 知道一个问题作为求因子 只需要从1开始让你输入的这个数一直除就好了 记得每回合
  • C++对于表达式临时对象的处理

    在表达式中如果使用了一个类的操作符重载函数 或者调用了一个返回类对象的函数 都会产生临时对象 临时对象的生存周期就在表达式中 甚至是表达式中的子语句 临时对象的销毁应该是在完整表达式的最后一句执行 比如下面的例子 T c c a b 另外
  • Remove Duplicates from Sorted Array II

    还是原地重写法 保留的条件是A j A i 2 注意后面的下标是i 2 不是j 2 int removeDuplicates int A int n if n lt 3 return n int i 2 for int j 2 j
  • java关于文件记录篇章之文件夹创建篇

    今天 创建一个文件夹目录的时候 创建多级目录的时候发现 自己老是创建失败 但是系统显示文件夹创建成功 但是你去找文件夹的时候 又发现创建失败 这里在我成功之后封装了一个创建文件夹的创建对象 首先这个文件夹是用来解决本地存储文件和linux上
  • dockers报错:Cannot connect to the Docker daemon

    异常信息 22 01 14 13 58 44 Reporter INFO YarnAllocator Completed container container e118 5690061100801 24379300 01 000066 o
  • 更换gradle,引起文件缺失报错 Could not resolve all dependencies for configuration ':classpath'.

    因为公司项目需要低版本gradle 加上同事其他项目也是需要低版本gradle 要更换gradle 使用2 14 1 于是遇到了如下报错 百度了 很多人都没有直接的办法 直接放弃去找已经下载的使用 看了一篇文章https www cnblo
  • 【Web3.0大势所趋】下一代互联网的未来

    前言 Web3 0 是一个越来越受到关注的话题 它被认为将会带来天翻地覆的变化 本文我们一起来谈谈 Web3 0 的概念 特点和优势 并探讨它为什么如此重要和具有革命性的 文章目录 前言 Web3 0是什么 区块链技术 智能合约 总结 We
  • elasticsearch之explain的使用

    explain查看怎么计算得分的 format将json格式结果转为yaml展示 POST tlsmz search format yaml explain true query bool must term fz keyword valu
  • phpstorm显示页面不停的在indexing转圈中,并且文件名还一直在刷新

    打开 File下的 Invalidate Caches Restart 下的 Invalidate and Restart 便可以了
  • 区块链学习笔记16——以太坊中的交易树和收据树

    十六 以太坊中的交易树和收据树 每次发布一个交易的时候 那些交易会组织成一个交易树 也是一颗Merkle tree跟比特币中的情况是类似的 同时以太坊还增加了一个收据树 每个交易执行完之后会形成一个收据 记录这个交易的相关信息 交易树和收据
  • Latex公式排版(编号、换行、括号内换行、对齐)

    最近写论文刚上手了Latex 因为有模板 所以用起来还是很方便的 但是在实际使用中 由于论文是双栏的 因此比较长的公式在排版时会比较困难 下面对Latex中的公式排版方法做一些记录 公式的编写方法在此不再赘述 可以选择网页版的Latex公式
  • 机器学习项目

    文章来源 ATYUN AI平台 8800个开源机器学习项目 并从中选取了前30个制成这份清单 它涵盖了2017年1月和12月之间发布的最佳开源机器学习库 数据集和应用程序 Mybridge AI通过受欢迎程度 参与度和新近度来评估质量 为了
  • 安卓开发移植他人项目 配置问题

    在开发移植他人项目会出现各种配置问题 解决方法 1 将build gradle中的包版本改成跟自己本地项目相同的版本 2 在gradle properties中写入 android overridePathCheck true 3 在app
  • 离线包实现app内H5的秒开

    前言 市面上业务复杂 App中近半数业务页面使用H5 页面承载 H5的优势很明显 跨平台 迭代快 开发体验好 H5的劣势同样明显 加载慢 用户体验差 为了提高页面加载速度和成功率 我们在app H5 部分业务加载 采用了离线包方式 如果有业
  • 如何选取合适的运算放大器?

    首先呢 我不是大牛 本文也会有很多不足之处 欢迎大家提出意见 进入正题 在模拟输入部分 一个重要的大类是单端电压和电流的调理和转换 如 0 5V 10V 0 20mA 等 另一个重要的大类是传感器信号的调理和转换 最常用的如电桥 R TD
  • 2021哈工大深入理解计算机系统Lab5(linklab)

    2021哈工大计算机系统lab5 linklab 实验目的 实验环境与工具 硬件环境 软件环境 开发工具 实验内容 LinkBomb程序框架 phase1 全局变量 数据节 phase2 指令 代码节 phase3 符号解析 phase4
  • Python 各种数据保存与读取方法——numpy,dict,dataframe等等

    文章目录 前言 一 写入与读取 1 Dataframe转csv xlsx 2 numpy ndarray转npy 3 dict转txt 总结 前言 往往在做机器学习或者深度学习的时候 数据预处理部分需要大量的时间 如果每次debug都重新预