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️⃣结语📢 1️⃣简介 🚀🚀🚀学会控制鼠标和键盘是…...
docker基于centos7镜像安装python3.7.9
下载centos7镜像 docker pull centos: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语句一样,同样是运用于条件循环中; 下面例子我们用switch实现 例如如果今天是周一就学习HTML,周二学习CSS和JavaScript,周三学习vue,周四,周五学习node.js,周六周日快乐玩耍&…...
Jquery笔记
DOM对象通过jquery获取 所有的代码都是基于引入jquery.js文件 var mydiv $(#div);//直接获取到DOM对象元素id var mydiv$(.div);//通过class获取DOM对象,如果有同名class只会获取第一个 var mysapn$(span);//通过元素的标签名获取DOM对象 var divarr$(…...
【C++】优先级队列的基本概念以及其模拟实现
文章目录 补充知识:仿函数一、优先级队列:1.引入2.介绍 二、priority_queue的模拟实现1.大体框架2.私有成员函数:1.向下调整(AdjustDown)2.向上调整(AdjustUp) 3.公有成员函数1大小(…...
TextClamp for Vue3.0(Vue3.0的文本展开收起组件)
呦!大家好,好久没有更新博客了,最近实现了一个一直想自己完成的一个东西,就是文本的展开收起组件,以前项目需要用到,自己实现一个又太繁琐,所以那个时候都是用的别人的轮子,现在自己…...
区间预测 | MATLAB实现VAR向量自回归时间序列区间预测
区间预测 | MATLAB实现VAR向量自回归时间序列区间预测 目录 区间预测 | MATLAB实现VAR向量自回归时间序列区间预测预测效果基本介绍程序设计参考资料预测效果 基本介绍 区间预测 | MATLAB实现VAR向量自回归时间序列区间预测 VAR(Vector Autoregression)模型是一种广泛应用于时…...
在 Windows 上搭建 NTP 服务器
文章目录 一、基础环境二、适用场景三、操作步骤四、常用的NTP服务器五、参考资料 版权声明:本文为博主原创文章,于2023年7月30日首发于CSDN,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/u011046671 一、基础…...
应急响应经典案例-FTP 暴力破解
应急响应经典案例-FTP 暴力破解 应急场景日志分析应急处理措施 应急场景 从昨天开始,网站响应速度变得缓慢,网站服务器登录上去非常卡,重启服务器就能保证一段时间的正常访问,网站响应状态时而飞快时而缓慢,多数时间是…...
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…...
SpringBoot启动流程及自动配置
SpringBoot启动流程源码: 1、启动SpringBoot启动类SpringbootdemoApplication中的main方法。 SpringBootApplication public class SpringbootdemoApplication {public static void main(String[] args) {SpringApplication.run(SpringbootdemoApplication.class, …...
【Linux】进程轻松入门
目录 一, 冯* 诺依曼体系结构 1,存储结构 编辑 二, 操作系统 1,概念 2,设计OS的目的 3,定位 4,如何理解 "管理" 5, 总结 三,进程 1. 概念 那么…...
【使用时空RBF-NN进行非线性系统识别】实现了 RBF、分数 RBF 和时空 RBF 神经网络,用于非线性系统识别研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
Tomcat 安装配置教程及成功后,启动失败报错解决方案
解决方案 我的报错原因是因为我的JDK是1.8的而我的Tomcat是10版本的,可能是因为版本原因吧,我重新装了Tomcat 9就可以启动成功了! 简单说下安装的时候需要注意哪些步骤吧 今天我在安装tomcat10的时候,安装成功后,启…...
C#文件操作从入门到精通(2)——查看某个dll中有哪些函数
kernel32.dll中含有ini文件操作使用的函数,我们可以通过VisualStudio自带的dumpbin.exe查看dll所包含的函数,操作步骤如下: 1、找到dumpbin.exe所在的文件夹 我的电脑中安装了VisualStudio2019社区版以及VisualStudio2017Professional,但是我发现VisualStudio2019社区版中…...
二分查找算法(全网最详细代码演示)
二分查找也称 半查找(Binary Search),它时一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字 有序 排列。 注意:使用二分查找的前提是 该数组是有序的。 在实际开…...
draw up a plan
爱情是美好的,却不是唯一的。爱情只是属于个人化的感情。 推荐一篇关于爱情的美文: 在一个小镇上,有一家以制作精美巧克力而闻名的手工巧克力店,名叫“甜蜜之爱”。这家巧克力店是由一位名叫艾玛的年轻女性经营的,她对…...
抖音seo源码开发源代码开发技术分享
一、 抖音SEO源码开发,需要掌握以下技术: 抖音API接口:抖音提供了丰富的API接口,包括用户信息、视频信息、评论信息等。 数据爬取技术:通过抓包分析抖音接口的数据结构,可以使用Python等编程语言编写爬虫程…...
QEMU(Quick Emulator)
QEMU(Quick Emulator)是一款由法布里斯贝拉等人编写的免费的可执行硬件虚拟化的开源托管虚拟机。它可以通过动态的二进制转换模拟CPU,并提供一组设备模型,使它能够运行多种未修改的客户机OS。QEMU还可以为user-level的进程执行CPU…...
Gateway结合nacos(lb://xxx)无效问题
Gateway结合nacos无效 版本如下: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:2021.0.1.0 org.springframework.cloud:spring-cloud-starter-gateway:3.1.1 配置如下: server:port: 7000 spring:application:name: springCloudGa…...
北京个人网站建设/百度官方客户端
项目中,有时会遇到需要遍历生成多个内容,可以构建一个简单的数组,每个元素只要有值即可。 Array.prototype.keys() [...Array(5).keys()] -> [0, 1, 2, 3, 4]// 使用伪数组转的真数组也是一个道理 [...Array.from({length: 5}).keys()] -&…...
专门做推广的网站/微商引流推广
WORD的点点滴滴<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />二l 文章快速定位当编辑比较长文档时,经常需要大段翻页,使用鼠标拖滚动条的速度太慢,键盘的光标键或翻页键又不能精确定位&…...
dede网站建设的个人总结/搜索引擎排名大全
nana 安全牛 漏洞管理依然是大多数安全计划的重要组成部分,全球绝大多数公司企业都认同这一点。 在安全公司Tripwire最近的一份网络健康状态调查中,80%的受访者称自家企业有漏洞扫描计划。约60%的受访者每天或每周进行一次扫描,40%的受访者…...
建立一个网站的流程/中国关键词官网
本章重点:学习MySQL DISTINCT 对select语句子集进行去重。MySQL DISTINCT在查询过程中,需要对结果集进行去重,采用 DISTINCT子句与select 配合。语法如下:SELECT DISTINCTcolumnsFROMtable_nameWHEREwhere_conditions;对于NULL&am…...
如何用手机制作网站/搜索引擎营销的模式有哪些
Python整理环境搭建,不仅仅包括Python版本的安装,还包括Python命令行,setuptools安装,和工作环境配置等. 1. Python版本的安装 Python的安装 >>> Windows下的安装,配置挺简单,稍微注意点的是,PA…...
wordpress 显示pdf/人工智能培训机构哪个好
上一期与大家探讨了做自媒体需要硬件与软件,今天接着和大家探讨做自媒体的心得二,做自媒体如何赚钱盈利,做自媒体该怎么样去做?从哪方面去做等问题。 怎么做自媒体,做自媒体如何赚钱盈利 一、是做图文自媒体 图文就是…...