当前位置: 首页 > news >正文

Python加载数据的5种方法

大家好,今天回顾五种引入数据的Python技术,并附有代码实例参考。

我们将使用Numpy、Pandas和Pickle包,所以要导入它们:

import numpy as np
import pandas as pd
import pickle

Manual功能

这是最困难的,因为你必须设计一个自定义函数,它可以为你加载数据,必须处理Python的正常归档概念,并利用它来读取一个.csv文件。

def load_csv(filepath):data =  []col = []checkcol = Falsewith open(filepath) as f:for val in f.readlines():val = val.replace("\n","")val = val.split(',')if checkcol is False:col = valcheckcol = Trueelse:data.append(val)df = pd.DataFrame(data=data, columns=col)return df

输出

myData = load_csv('100 Sales Record.csv')
print(myData.head())

Numpy.loadtxt函数

这是Numpy中的一个内置函数,Numpy是Python中一个著名的数值库。它是一个非常简单的加载数据的函数。它对于读取相同数据类型的数据非常有用。

当数据比较复杂时,使用这个函数很难读取,但当文件比较容易和简单时,这个函数真的很强大。

df = np.loadtxt('convertcsv.csv', delimeter = ',')

这里我们简单地使用了loadtxt函数,因为这是一个CSV文件,所以在delimeter中传递了','。

现在,如果我们打印df,我们将看到我们的数据在相当体面的numpy数组中,可以随时使用。

print(df[:5,:])

 Numpy.genfromtxt()

我们将使用我们在第一个例子中使用的数据集'100 Sales Records.csv'来证明我们可以在其中有多种数据类型。

data = np.genfromtxt('100 Sales Records.csv', delimiter=',')

为了更清楚地看到它,我们可以直接用数据框架的格式来看:

>>> pd.DataFrame(data)

只需添加另一个dtype参数,并将dtype设置为None,这意味着它必须照顾到每一列的数据类型本身。而不是将整个数据转换为单一的dtype。

data = np.genfromtxt('100 Sales Records.csv', delimiter=',', dtype=None)

然后再进行输出:

>>> pd.DataFrame(data).head()

 Pandas.read_csv()

Pandas是一个非常流行的数据处理库,而且它非常常用。它的一个非常重要和成熟的函数是read_csv(),它可以非常容易地读取任何.csv文件并帮助我们操作它。让我们在我们的100-销售记录数据集上做一下。

>>> pdDf = pd.read_csv('100 Sales Record.csv')
>>> pdDf.head()

Pandas.read_csv提供了很多其他的参数来调整我们的数据集,例如在我们的convertcsv.csv文件中,我们没有列名,所以我们可以把它读成。

>>> newdf = pd.read_csv('convertcsv.csv', header=None)
>>> newdf.head()

我们可以看到,它已经读取了没有标题的csv文件。

Pickle

当你的数据不是一个好的、人类可读的格式时,你可以使用pickle把它保存为二进制格式,然后你可以使用pickle库轻松地重新加载它。

with open('test.pkl','wb') as f:pickle.dump(pdDf, f)

这将创建一个新的文件test.pkl,里面有我们来自Pandas的pdDf标题。

现在要用pickle打开它,我们只需要使用pickle.load函数。

with open("test.pkl", "rb") as f:d4 = pickle.load(f)>>> d4.head()

而在这里,我们已经成功地从pandas.DataFrame格式的pickle文件中加载数据。

你现在知道了在Python中加载数据文件的5种不同方法,当你在日常项目中工作时,这些方法可以帮助你以不同方式加载数据集。

相关文章:

Python加载数据的5种方法

大家好,今天回顾五种引入数据的Python技术,并附有代码实例参考。 我们将使用Numpy、Pandas和Pickle包,所以要导入它们: import numpy as np import pandas as pd import pickle Manual功能 这是最困难的,因为你必须…...

QPoint、QLine、QSize、QRect

QPoint、QLine、QSize、QRect QPointQLineQSizeQRect QPoint // 构造函数 // 构造一个坐标原点, 即(0, 0) QPoint::QPoint(); // 参数为 x轴坐标, y轴坐标 QPoint::QPoint(int xpos, int ypos);// 设置x轴坐标 void QPoint::setX(int x); // 设置y轴坐标 void QPoint::setY(in…...

vue+leaflet笔记之地图量测

vueleaflet笔记之地图量测 文章目录 vueleaflet笔记之地图量测开发环境代码简介插件简介与安装使用简介图形量测动态量测 详细源码(Vue3) 本文介绍了Web端使用Leaflet开发库进行距离量测的一种方法 (底图来源:天地图),结合leaflet-measure-path插件能够快速的实现地…...

“深入理解SpringBoot:从入门到精通的几个关键要点“

标题:深入理解Spring Boot:从入门到精通 摘要:本文将深入探讨Spring Boot的关键要点,帮助读者从入门到精通。我们将从Spring Boot的基本概念开始,介绍自动配置、起步依赖、注解驱动开发等特性,并通过示例代…...

数值线性代数: 共轭梯度法

本文总结线性方程组求解的相关算法,特别是共轭梯度法的原理及流程。 零、预修 0.1 LU分解 设,若对于,均有,则存在下三角矩阵和上三角矩阵,使得。 设,若对于,均有,则存在唯一的下三…...

【JVM】详解对象的创建过程

文章目录 1、创建对像的几种方式1、new关键字2、反射3、clone4、反序列化 2、创建过程步骤 1、检查类是否已经被加载步骤 2、 为对象分配内存空间1、指针碰撞针对指针碰撞线程不安全,有两种方案: 2、空闲列表选择哪种分配方式 步骤3、将内存空间初始化为…...

华纳云:ubuntu下如何搭建nfs服务

在Ubuntu下搭建NFS(Network File System)服务,可以实现网络文件共享。以下是在Ubuntu上搭建NFS服务的步骤: 安装NFS服务器和客户端软件: 打开终端,并使用以下命令安装NFS服务器和客户端软件: sudo apt-get update s…...

HCIA实验二

实验要求: 1.R2为ISP,只能配置IP 2.R1-R2之间为HDLC封装 3.R2-R3之间为PPP封装,pap认证,R2为主认证方 4.R2-R4之间为PPP封装,chap认证,R2为主认证方 5.R1、R2、R3构建MGRE,仅R1的IP地址固定…...

stm32 舵机 cubemx

文章目录 前言一、cubemx配置二、代码1.serve.c2.serve.h3.主函数 总结 前言 stm32对舵机进行控制,很简单直接一个pwm就可以实现 pwm的周期是50HZ占空比分别对应 一个0.5ms的高电平对应于0度 一个1.5ms的高电平对应于90度 一个2.5ms的高电平对应于180度 因此&#…...

无涯教程-jQuery - Spinner组件函数

Widget Spinner 函数可与JqueryUI中的窗口小部件一起使用。Spinner提供了一种从一组中选择一个值的快速方法。 Spinner - 语法 $( "#menu" ).selectmenu(); Spinner - 示例 以下是显示Spinner用法的简单示例- <!doctype html> <html lang"en"…...

Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘

Python 有趣的模块之pynupt ——通过pynput控制鼠标和键盘 文章目录 Python 有趣的模块之pynupt ——通过pynput控制鼠标和键盘1️⃣简介2️⃣鼠标控制与移动3️⃣键盘控制与输入4️⃣结语&#x1f4e2; 1️⃣简介 &#x1f680;&#x1f680;&#x1f680;学会控制鼠标和键盘是…...

docker基于centos7镜像安装python3.7.9

下载centos7镜像 docker pull centos&#xff1a;centos7 启动容器centos-python-3.7 docker run -itd --name centos-python-3.7 -p 60021:22 --privileged centos:centos7 /usr/sbin/init 进入容器 docker exec -it centos-python-3.7 /bin/bash centos7环境下安装python3.7.…...

JavaScript中的switch语句

switch语句和if语句一样&#xff0c;同样是运用于条件循环中&#xff1b; 下面例子我们用switch实现 例如如果今天是周一就学习HTML&#xff0c;周二学习CSS和JavaScript&#xff0c;周三学习vue&#xff0c;周四&#xff0c;周五学习node.js&#xff0c;周六周日快乐玩耍&…...

Jquery笔记

DOM对象通过jquery获取 所有的代码都是基于引入jquery.js文件 var mydiv $(#div);//直接获取到DOM对象元素id var mydiv$(.div)&#xff1b;//通过class获取DOM对象&#xff0c;如果有同名class只会获取第一个 var mysapn$(span);//通过元素的标签名获取DOM对象 var divarr$(…...

【C++】优先级队列的基本概念以及其模拟实现

文章目录 补充知识&#xff1a;仿函数一、优先级队列&#xff1a;1.引入2.介绍 二、priority_queue的模拟实现1.大体框架2.私有成员函数&#xff1a;1.向下调整&#xff08;AdjustDown&#xff09;2.向上调整&#xff08;AdjustUp&#xff09; 3.公有成员函数1大小&#xff08;…...

TextClamp for Vue3.0(Vue3.0的文本展开收起组件)

呦&#xff01;大家好&#xff0c;好久没有更新博客了&#xff0c;最近实现了一个一直想自己完成的一个东西&#xff0c;就是文本的展开收起组件&#xff0c;以前项目需要用到&#xff0c;自己实现一个又太繁琐&#xff0c;所以那个时候都是用的别人的轮子&#xff0c;现在自己…...

区间预测 | MATLAB实现VAR向量自回归时间序列区间预测

区间预测 | MATLAB实现VAR向量自回归时间序列区间预测 目录 区间预测 | MATLAB实现VAR向量自回归时间序列区间预测预测效果基本介绍程序设计参考资料预测效果 基本介绍 区间预测 | MATLAB实现VAR向量自回归时间序列区间预测 VAR(Vector Autoregression)模型是一种广泛应用于时…...

在 Windows 上搭建 NTP 服务器

文章目录 一、基础环境二、适用场景三、操作步骤四、常用的NTP服务器五、参考资料 版权声明&#xff1a;本文为博主原创文章&#xff0c;于2023年7月30日首发于CSDN&#xff0c;转载请附上原文出处链接和本声明。本文链接&#xff1a;https://blog.csdn.net/u011046671 一、基础…...

应急响应经典案例-FTP 暴力破解

应急响应经典案例-FTP 暴力破解 应急场景日志分析应急处理措施 应急场景 从昨天开始&#xff0c;网站响应速度变得缓慢&#xff0c;网站服务器登录上去非常卡&#xff0c;重启服务器就能保证一段时间的正常访问&#xff0c;网站响应状态时而飞快时而缓慢&#xff0c;多数时间是…...

41. linux通过yum安装postgresql

文章目录 1.下载安装包2.关闭内置PostgreSQL模块:3.安装postgresql服务:4.初始化postgresql数据库:5.设置开机自启动:6.启动postgresql数据库7.查看postgresql进程8.通过netstat命令或者lsof 监听默认端口54329.使用find命令查找了一下postgresql.conf的配置位置10.修改postgre…...

opencv学习笔记2:卷积、均值滤波、中值滤波

目录 一、卷积概念 1.定义 2.数学原理 3.实例计算 &#xff08;1&#xff09; 输入与卷积核 &#xff08;2&#xff09;计算输出 g(2,2) 4.作用 二、针对图像噪声的滤波技术——均值滤波 1.均值滤波概念 &#xff08;1&#xff09;均值滤波作用 &#xff08;2&#…...

【计算机网络】数据链路层-滑动窗口协议

数据链路层滑动窗口协议 1. 三种协议对比表 特性停止-等待协议GBN协议SR协议窗口大小发送 1&#xff0c;接收 1发送 W (1<W≤2ⁿ-1)&#xff0c;接收 1发送 C&#xff0c;接收 R确认方式单个确认累积确认选择性确认重传策略超时重传回退N帧重传选择性重传接收缓冲区…...

【生活】程序员防猝si指南

note 一、定期体检二、均衡饮食&#xff0c;多食用对心脏有保护作用的食物三、每周运动四、减压五、保证睡眠六、戒烟限酒7、控制血压8、警惕流感攻击心脏9、关注牙齿健康10、不要抵触吃药 文章目录 note一、定期体检二、均衡饮食&#xff0c;多食用对心脏有保护作用的食物三、…...

单例模式与锁(死锁)

目录 线程安全的单例模式 什么是单例模式 单例模式的特点 饿汉实现方式和懒汉实现方式 饿汉⽅式实现单例模式 懒汉⽅式实现单例模式 懒汉⽅式实现单例模式(线程安全版本) 单例式线程池 ThreadPool.hpp threadpool.cc 运行结果 线程安全和重⼊问题 常⻅锁概念 死…...

Virtex II 系列FPGA的配置原理

对FPGA 芯片的配置&#xff0c;本质上是将根据设计生成的包含配置命令和配置数据的比特流文件写入到配置存储器中。 1 配置模式 Virtex II 系列FPGA 一共有五种配置模式&#xff0c;配置模式的选择是根据管脚M[2:0]来决定。 &#xff08;1&#xff09;串行配置模式 串行配置模…...

JAVA 对象 详解

对象 对象结构&#xff1a; 对象头&#xff08;元数据和指向class的指针&#xff09;、实例数据、对齐填充 数组对象&#xff1a; 对象头&#xff08;元数据和指向class的指针&#xff09;、数组长度、数组数据、对齐填充 对象创建&#xff1a; 一、当Java虚拟机遇到一条…...

Docker容器部署elasticsearch8.*与Kibana8.*版本使用filebeat采集日志

第 1 步&#xff1a;使用 Docker Compose 部署 Elasticsearch 和 Kibana 首先&#xff0c;我们需要创建一个 docker-compose.yml 文件来定义和运行 Elasticsearch 和 Kibana 服务。这种方式可以轻松管理两个容器的配置和网络。 创建 docker-compose.yml 文件 在一个新的文件夹…...

㊗️高考加油

以下是极为详细的高考注意事项清单&#xff0c;涵盖考前、考中、考后全流程&#xff0c;建议逐条核对&#xff1a; 一、考前准备 1. 证件与物品 必带清单&#xff1a; 准考证&#xff1a;打印2份&#xff08;1份备用&#xff09;&#xff0c;塑封或夹在透明文件袋中防皱湿。身…...

数据可视化大屏案例落地实战指南:捷码平台7天交付方法论

分享大纲&#xff1a; 1、落地前置&#xff1a;数据可视化必备的规划要素 2、数据可视化双路径开发 3、验证案例&#xff1a;数据可视化落地成效 在当下数字化转型浪潮中&#xff0c;数据可视化建设已成为关键环节。数据可视化大屏的落地&#xff0c;成为企业数据可视化建设的难…...

【深度学习-Day 24】过拟合与欠拟合:深入解析模型泛化能力的核心挑战

Langchain系列文章目录 01-玩转LangChain&#xff1a;从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块&#xff1a;四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain&#xff1a;从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...