比较系统的学习 pandas (2)
pandas 数据读取与输出方法和常用参数
1、读取 CSV文件
pd.read_csv("path+name",step,encoding="gbk",header="infer",name=[],skip_blank_lines=True,comment=None)
path : 文件路径
step : 指定分隔符,默认为 逗号
encoding : 文件内容的编码格式,,通常指定为'utf-8'
header : 指定第几行是表头,默认会自动推断把第一行作为表头。header =None ,没有表头
names: 列表,可选。指定列名的列表,如果数据文件中不包含列名,通过names指定列名,若指定则应该设置header=None。列名列表中不允许有重复值。
comment: 字符串,默认值None。设置注释符号,注释掉行的其余内容。将一个或多个字符串传递给此参数以在输入文件中指示注释。注释字符串与当前行结尾之间的任何数据都将被忽略。
na_rep: 字符串,默认值''(空字符)。缺失值表示方式
pd.read_csv('data/data.csv',encoding="gbk") # 注意目录层级pd.read_csv('data.csv') # 如果文件与代码文件在同一目录下pd.read_csv('data/my/my.data') # CSV文件的扩展名不一定是.csv# 本地绝对路径
pd.read_csv('/user/gairuo/data/data.csv')# 使用URL
pd.read_csv('https://www.gairuo.com/file/data/dataset/GDP-China.csv')# 数据分隔符默认是逗号,可以指定为其他符号pd.read_csv(data, sep='\t') # 制表符分隔tab
pd.read_table(data) # read_table 默认是制表符分隔tab
pd.read_csv(data, sep='|') # 制表符分隔tab
pd.read_csv(data,sep="(?<!a)\|(?!1)", engine='python') # 使用正则表达式pd.read_csv(data, names=['列1', '列2'], header=None)
2、输出到 csv 文件
data.to_csv("path+name",sep=",",na_rep="",index=True,header=True,encoding="utf-8,compression=None)
path : 输文件出路径
sep :指定分隔符,默认为 逗号
index :是否将索引一起导入,一般需要设置为 False
header : 如果不需要表头,可以将 header 设置为 False,
encoding : 输出文件的编码格式
compression :字符串或字典,默认值'infer'。用于磁盘数据的实时解压缩。可选值:{'infer', 'zip', 'gzip', 'bz2', 'zstd', 'tar'}。如果使用'infer',且如果filepath_or_buffer是以‘.gz’, ‘.bz2’, ‘.zip’, ‘.xz’结尾的字符串,则使用gzip、bz2、zip或xz,否则不进行解压缩。如果使用‘.zip’,则ZIP文件必须只包含一个要读取的数据文件。设置为None,表示不解压。如果文件较大,可以使用compression进行压缩
df.to_csv('data/done.csv') # 可以指定文件目录路df.to_csv('done.csv', index=False) # 不要索引# 创建一个包含out.csv的压缩文件out.zip
compression_opts = dict(method='zip',archive_name='out.csv')
df.to_csv('out.zip', index=False,compression=compression_opts)
3、读取 excel 文件
pd.read_excel("path+name", sheet_name=0,header=0,encoding="utf-8",names=[],comment=None)
path : 文件路径
step : 指定分隔符,默认为 逗号
encoding : 文件内容的编码格式,,通常指定为'utf-8'
names: 列表,可选。指定列名的列表,如果数据文件中不包含列名,通过names指定列名,若指定则应该设置header=None。列名列表中不允许有重复值。
header : 指定第几行是表头,默认会自动推断把第一行作为表头。header =None ,没有表头
sheet_name : 指定Excel文件读取哪个sheet,默认为第一个
comment: 字符串,默认值None。设置注释符号,注释掉行的其余内容。将一个或多个字符串传递给此参数以在输入文件中指示注释。注释字符串与当前行结尾之间的任何数据都将被忽略。
pd.read_excel('data/data.xlsx') # 注意目录层# 本地绝对路径
pd.read_excel('/user/gairuo/data/data.xlsx')# 使用URL
pd.read_excel('https://www.gairuo.com/file/data/dataset/team.xlsx')# 字符串、整型、列表、None,默认为0
pd.read_excel('tmp.xlsx', sheet_name=1) # 第二个sheet
pd.read_excel('tmp.xlsx', sheet_name='总结表') # 按sheet的名字
# 读取第一个、第二个、名为Sheet5的sheet,返回一个df组成的字典
dfs = pd.read_excel('tmp.xlsx', sheet_name=[0, 1, "Sheet5"])pd.read_excel('tmp.xlsx', names=['姓名', '年龄', '成绩'])
4、写入 excel
data.to_excel("path+name",sheeet_name,index=true,na_rep="")
path : 文件路径
sheet_name 定Excel文件写入哪个sheet,默认为第一个
index :是否将索引一起导入,一般需要设置为 False
na_rep: 字符串,默认值''(空字符)。缺失值表示方式
不知大家发现没,CSV 和 excel 操作差不多
# 导出,可以指定文件路径
df.to_excel('path_to_file.xlsx')
# 指定sheet名,不要索引
df.to_excel('path_to_file.xlsx', sheet_name='Sheet1', index=False)
5、SQL 读取写入与查询
注意需要安装SQLAlchemy库
from sqlalchemy import create_engine# 创建数据库对象,SQLite内存模式engine = create_engine('sqlite:///:memory:')# 取出表名为data的表数据
with engine.connect() as conn, conn.begin():
data = pd.read_sql_table('data', conn)# 将数据写入
data.to_sql('data', engine)# 大量写入
data.to_sql('data_chunked', engine, chunksize=1000)# 使用SQL查询
pd.read_sql_query('SELECT * FROM data', engine
相关文章:
比较系统的学习 pandas (2)
pandas 数据读取与输出方法和常用参数 1、读取 CSV文件 pd.read_csv("pathname",step,encoding"gbk",header"infer",name[],skip_blank_linesTrue,commentNone) path : 文件路径 step : 指定分隔符,默认为 逗号 enco…...
怎么查看电脑主板最大支持多少内存?
很多电脑,内存不够用,但应速度慢;还有一些就是买了很大的内存条,但是还是反应慢;这是为什么呢?我今天明白了,原来每个电脑都有自己的适配内存,就是每个电脑能支持多大的内存…...

数据结构——线段树
线段树的结构 线段树是一棵二叉树,其结点是一条“线段”——[a,b],它的左儿子和右儿子分别是这条线段的左半段和右半段,即[a, (ab)/2 ]和[(ab)/2 ,b]。线段树的叶子结点是长度为1的单位线段[a,a1]。下图就是一棵根为[1,10]的线段树࿱…...
【C++进阶】实现C++线程池
文章目录1. thread_pool.h2. main.cpp1. thread_pool.h #pragma once #include <iostream> #include <vector> #include <queue> #include <thread> #include <mutex> #include <condition_variable> #include <future> #include &…...
Redis常用五种数据类型
一、Redis String字符串 1.简介 String类型在redis中最常见的一种类型 string类型是二制安全的,可以存放字符串、数值、json、图像数据 value存储最大数据量是512M 2. 常用命令 set < key>< value>:添加键值对 nx:当数据库中…...
C++ Primer第五版_第十一章习题答案(1~10)
文章目录练习11.1练习11.2练习11.3练习11.4练习11.5练习11.6练习11.7练习11.8练习11.9练习11.10练习11.1 描述map 和 vector 的不同。 map 是关联容器, vector 是顺序容器。 练习11.2 分别给出最适合使用 list、vector、deque、map以及set的例子。 list:…...
GEE:使用LandTrendr进行森林变化检测详解
作者:_养乐多_ 本文介绍了一段用于地表变化监测的代码,该代码主要使用谷歌地球引擎(GEE)中的 Landsat 时间序列数据,采用了 Kennedy 等人(2010) 发布的 LandTrendr 算法,对植被指数进行分割,通过计算不同时间段内植被指数的变化来检测植被变化。 目录 一、加入矢量边界 …...
docker项目实施
鲲鹏916架构openEuler-arm64成功安装docker并跑通tomcat容器_闭关苦炼内功的技术博客_51CTO博客鲲鹏916架构openEuler-arm64成功安装docker并跑通tomcat容器,本文是基于之前这篇文章鲲鹏920架构arm64版本centos7安装docker下面开始先来看下系统版本卸载旧版本旧版本…...

springboot实现邮箱验证码功能
引言 邮箱验证码是一个常见的功能,常用于邮箱绑定、修改密码等操作上,这里我演示一下如何使用springboot实现验证码的发送功能; 这里用qq邮箱进行演示,其他都差不多; 准备工作 首先要在设置->账户中开启邮箱POP…...

Java 进阶(5) Java IO流
⼀、File类 概念:代表物理盘符中的⼀个⽂件或者⽂件夹。 常见方法: 方法名 描述 createNewFile() 创建⼀个新文件。 mkdir() 创建⼀个新⽬录。 delete() 删除⽂件或空⽬录。 exists() 判断File对象所对象所代表的对象是否存在。 getAbsolute…...

“终于我从字节离职了...“一个年薪40W的测试工程师的自白...
”我递上了我的辞职信,不是因为公司给的不多,也不是因为公司待我不好,但是我觉得,我每天看中我憔悴的面容,每天晚上拖着疲惫的身体躺在床上,我都不知道人生的意义,是赚钱吗?是为了更…...

设计模式之策略模式(C++)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 一、策略模式是什么? 策略模式是一种行为型的软件设计模式,针对某个行为,在不同的应用场景下&…...

从工厂普工到Python女程序员,聊聊这一路我是如何逆袭的?
我来聊聊我是如何从一名工厂普工,到国外程序员的过程,这里面充满了坎坷。过去我的工作是在工厂的流水线上,我负责检测电池的正负极。现如今我每天从早上6:20起床,6点四五十分出发到地铁站,7:40到公司。我会给自己准备一…...
全国青少年信息素养大赛2023年python·选做题模拟二卷
目录 打印真题文章进行做题: 全国青少年电子信息智能创新大赛 python选做题模拟二卷 一、单选题 1. numbers = [1, 11, 111, 9], 运行numbers.sort() 后,运行numbers.reverse() numbers会变成?( )...

分布式事务Seata原理
Seata 是一款开源的分布式事务解决方案,致力于提供高性能与简单易用的分布式事务服务,为用户提供了 AT、TCC、SAGA 和 XA 几种不同的事务模式。Seata AT模式是基于XA事务演进而来,需要数据库支持。AT 模式的特点就是对业务无入侵式࿰…...

用ChatGPT怎么赚钱?普通人用这5个方法也能赚到生活费
ChatGPT在互联网火得一塌糊涂,因为它可以帮很多人解决问题。比如:帮编辑人员写文章,还可以替代程序员写代码,帮策划人员写文案策划等等。ChatGPT这么厉害,能否用它来赚钱呢?今天和大家分享用ChatGPT赚钱的5…...

( “树” 之 DFS) 110. 平衡二叉树 ——【Leetcode每日一题】
110. 平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root [3,9,20,null,null,15,7] …...

nvm软件使用-同一个环境下控制多个不同node版本
1.使用场景 nvm是一个用于管理Node.js版本的工具,它可以让你在同一台机器上安装和切换不同的Node.js版本。使用nvm的好处有以下几点: 1.1.nvm可以让你轻松地测试你的代码在不同的Node.js版本下的兼容性和性能,避免因为版本差异导致的问题。…...
连续两个南航的研究生面试出了从来没出现过的问题,本科和研究生都是计算机专业的,竟然说static是不可更改的。
最近面试人数有点多,面试有点频繁,因此发现了一些学生普遍会发生的错误,可以说是很离谱。 因为做了十多年的面试官,无论是大中小厂的面试,还是社招、校招。 从来没有遇到过这样的情况,而且发生在两个南航…...
How to install nacos/nacos-server:v2.1.2-slim with docker
今天给大家介绍一下如何基于Docker的nacos/nacos-server:v2.1.2-slim镜像安装nacos 1、Data Source 我们需要从nacos的github官网下载nacos 2.12发布包 nacos-server-2.1.2.tar.gznacos-server-2.1.2.zip 这里以nacos-server-2.1.2.tar.gz为例来介绍,解压后我们…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...

Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...
【安全篇】金刚不坏之身:整合 Spring Security + JWT 实现无状态认证与授权
摘要 本文是《Spring Boot 实战派》系列的第四篇。我们将直面所有 Web 应用都无法回避的核心问题:安全。文章将详细阐述认证(Authentication) 与授权(Authorization的核心概念,对比传统 Session-Cookie 与现代 JWT(JS…...