Python学习笔记第五十五天(Pandas CSV文件)

Python学习笔记第五十五天

  • Pandas CSV 文件
    • read_csv()
    • to_string()
    • to_csv()
  • 数据处理
    • head()
    • tail()
      • fillna()
    • info()
  • 后记

Pandas CSV 文件

CSV(Comma-Separated Values,逗号分隔值,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。

CSV 是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。

read_csv()

Pandas 可以很方便的处理 CSV 文件,本文以 data.csv 为例,你可以下载 data.csv 或打开 data.csv 查看。

# 实例 1
import pandas as pd
df = pd.read_csv('data.csv')
print(df.to_string())

to_string()

to_string() 用于返回 DataFrame 类型的数据,如果不使用该函数,则输出结果为数据的前面 5 行和末尾 5 行,中间部分以 … 代替。

# 实例 2
import pandas as pd
df = pd.read_csv('data.csv')
print(df)

to_csv()

我们也可以使用 to_csv() 方法将 DataFrame 存储为 csv 文件:

# 实例 3
import pandas as pd
# 三个字段 name, site, age
nme = ["Google", "Taobao", "Wiki"]
st = ["www.google.com", "www.taobao.com", "www.wikipedia.org"]
ag = [90, 80, 98]
# 字典
dict = {'name': nme, 'site': st, 'age': ag}    
df = pd.DataFrame(dict)
# 保存 dataframe
df.to_csv('site.csv')

数据处理

head()

head( n ) 方法用于读取前面的 n 行,如果不填参数 n ,默认返回 5 行。

# 实例 5 
import pandas as pd
df = pd.read_csv('data.csv')
# 读取前面 5 行
print(df.head())

注意,head()默认返回的是前5行,如果你想改变默认行数,你可以通过head()函数中的参数n进行设置。此外,你需要首先导入pandas库并读取csv文件到DataFrame对象。

# 实例 6
import pandas as pd
df = pd.read_csv('data.csv')
# 读取前面 10 行
print(df.head(10))

tail()

tail( n ) 方法用于读取尾部的 n 行,如果不填参数 n ,默认返回 5 行,空行各个字段的值返回 NaN。如果指定参数n,则返回最后n行。如果n大于DataFrame的行数,则返回全部的行。

# 实例 7
import pandas as pd
df = pd.read_csv('data.csv')
# 读取末尾 5 行
print(df.tail())

注意,实例中,已经正确使用了tail()方法来读取’data.csv’文件的最后5行。如果文件有足够的行数,那么tail()方法会返回最后5行数据。如果文件不足够长,那么返回的行数将与文件的实际行数相同。
另外,对于空行,Pandas将其各个字段的值返回NaN。如果你希望将空行视为具有特定值(例如0或’')的行,你可以使用fillna()方法来填充缺失值。

fillna()

# 实例 8
import pandas as pd
df = pd.read_csv('data.csv')
# 将空行填充为0
print(df.tail().fillna(0))

读取末尾 10 行也是一样的

# 实例 9
import pandas as pd
df = pd.read_csv('data.csv')
# 读取末尾 10 行
print(df.tail(10).fillna(0))

info()

info()方法在Pandas库中主要用于输出DataFrame的相关信息。这包括行数、列数、非空值的数量以及每列的数据类型等。

当你在一个DataFrame对象上调用info()方法时,它会输出以下信息:

  1. DataFrame的索引(行标签)的详细信息,包括最小值、最大值、唯一值和步长。
  2. DataFrame的列标签及其一些统计信息,包括数据类型、非空值的数量等。
  3. DataFrame的行数和列数。
# 实例 10
import pandas as pd
df = pd.read_csv('data.csv')
print(df.info())

当你运行上述代码时,info()方法将输出类似以下的信息(具体内容取决于你的数据)举个例子如下:

<class 'pandas.core.frame.DataFrame'>  
RangeIndex: 500 entries, 0 to 499  	 		# 行数,500 行,第一行编号为 0
Data columns (total 13 columns): 			# 列数,13列
#   Column  Non-Null Count  Dtype   		# 各列的数据类型
---  ------  --------------  -----    
0   team    500 non-null    object  		# non-null,意思为非空的数据 
1   player  483 non-null    object  
2   pos     483 non-null    object  
3   age     483 non-null    float64  
4   height   483 non-null    float64  
...  
11  mp_mp   500 non-null    float64  
12  mp40     500 non-null    float64  
13  mp40g    498 non-null    float64  
dtypes: float64(7), int64(2), object(4)  	# 类型
memory usage: 49.3 KB

这个输出说明了:

  • DataFrame的类别(在这个例子中是一个pandas DataFrame)和索引范围。
  • DataFrame的列数和非空值的数量。
  • 每列的非空值数量和数据类型。
  • 每列的缺失值数量(如果有的话)。
  • DataFrame使用的内存量。

后记

今天学习的是Python Pandas DataFrame学会了吗。 今天学习内容总结一下:

  1. Pandas CSV 文件
  2. read_csv()
  3. to_string()
  4. to_csv()
  5. 数据处理
  6. head()
  7. tail()
  8. info()

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

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

相关文章

【嵌入式学习笔记】嵌入式入门7——IIC总线协议

1.IIC简介 IIC即Inter Integrated Circuit&#xff0c;集成电路总线&#xff0c;是一种同步&#xff0c;串行&#xff0c;半双工通信总线。 IIC总线协议——总线就是传输数据通道&#xff0c;协议就是传输数据的规则&#xff0c;有以下特点&#xff1a; 由时钟线SCL和数据线S…

ES踩坑记录之集群间通信异常造成节点无法加入

问题描述 公司新搭了一套ES集群&#xff0c;4台机器&#xff0c;ES版本7.5.0&#xff0c;前期搭建十分顺利&#xff0c;但集群运行一段时间后会出现问题。问题具体体现为节点间通讯异常&#xff0c;集群会重新选主&#xff0c;但选主之后只能通过新的主节点进行集群操作&#…

【Linux】可重入函数 volatile关键字 以及SIGCHLD信号

可重入函数 volatile关键字 以及SIGCHLD信号 一、可重入函数1、引入2、可重入函数的判断 二、volatile关键字1、引入2、关于编译器的优化的简单讨论 三、SIGCHLD信号 一、可重入函数 1、引入 我们来先看一个例子来帮助我们理解什么是可重入函数&#xff1a; 假设我们现在要对…

EthGlobal 巴黎站 Chainlink 获奖项目介绍

在 Web3 中&#xff0c;每一周都至关重要。项目的发布、版本的发布以及协议的更新以惊人的速度推出。开发者必须保持学习&#xff0c;随时了解最新的工具&#xff0c;并将所有他们所学的东西&#xff08;无论是旧的还是新的&#xff09;联系起来&#xff0c;以构建推动 Web3 技…

PLUS操作流程、应用与实践,多源不同分辨率数据的处理、ArcGIS的应用、PLUS模型的应用、InVEST模型的应用

PLUS模型是由中国地质大学&#xff08;武汉&#xff09;地理与信息工程学院高性能空间计算智能实验室开发&#xff0c;是一个基于栅格数据的可用于斑块尺度土地利用/土地覆盖(LULC)变化模拟的元胞自动机(CA)模型。PLUS模型集成了基于土地扩张分析的规则挖掘方法和基于多类型随机…

Word转PDF在线转换如何操作?分享转换技巧

现如今&#xff0c;pdf转换器已成为大家日常办公学习必不可少的工具&#xff0c;市场上的pdf转换器主要有两种类型&#xff0c;一种是需要下载安装的&#xff0c;另一种是网页版&#xff0c;打开就可以使用的&#xff0c;今天小编给大家推荐一个非常好用的网页版pdf转换器&…

基于jvm-sandbox的imock开发指南

基于jvm-sandbox的imock开发指南 团队今年的指标是为公司提供一个方法级的mock平台&#xff0c; 这个重要的任务落在了我的身上。 0、明确团队的需求 支持java后端服务方法级别的mock&#xff0c;对没有测试环境的第三方服务进行mock&#xff0c;增加团队覆盖率。 启用&#x…

PDF换行的难度,谁能解决?

换行的时候确认不了长度&#xff1a; import java.awt.*;public class Test {public static void main(String[] args) {String str1 "淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘";String str2 "AAAAAAAAAAAAAAAAAAAAAAAAA…

实验篇——亚细胞定位

实验篇——亚细胞定位 文章目录 前言一、亚细胞定位的在线网站1. UniProt2. WoLFPSORT3. BUSCA4. TargetP-2.0 二、代码实现1. 基于UniProt&#xff08;不会&#xff09;2. 基于WoLFPSORT后续&#xff08;已完善&#xff0c;有关代码放置于[python爬虫学习&#xff08;一&#…

一零七零、Redis基础稳固篇

Redis是什么&#xff0c;优缺点&#xff1f; Redis本质是一个K-V类型的内存数据库 纯内存操作&#xff0c;每秒可处理超过10w的读写操作 优点&#xff1a; 读写性能极高 非阻塞IO 单线程 支持持久化 支持事务 数据结构丰富 缺点&#xff1a; 容易受到物理内存的限制 主机宕机可…

【JAVA】日志

输出语句日志输出位置只能是控制台可以将日志信息写入文件或数据库中取消日志需要修改代码&#xff0c;灵活性差只需修改日志文件多线程性能较差性能较好 日志规范接口&#xff1a;Commons Logging(JCL)、Simple Logging Facade for Java(slf4j) 日志实现框架&#xff1a;Log…

软件测试简历撰写与优化,让你面试邀约率暴增99%!

如何撰写一份优秀的简历呢&#xff1f;&#xff1f;这是一个求职者都会遇到的问题&#xff0c;今天就来详细带大家写一份软件测试工程师职位的简历&#xff01;希望能给各位软件测试求职者一个带来帮助&#xff01; 个人简历是求职者给招聘单位发的一份简要介绍。包含自己的基本…

linux系统服务学习(一)Linux高级命令扩展

文章目录 Linux高级命令&#xff08;扩展&#xff09;一、find命令1、find命令作用2、基本语法3、*星号通配符4、根据文件修改时间搜索文件☆ 聊一下Windows中的文件时间概念&#xff1f;☆ 使用stat命令获取文件的最后修改时间☆ 创建文件时设置修改时间以及修改文件的修改时间…

【Vue】Vue2创建移动端项目实战教程,创建移动端项目保姆级教程,设置axios,utils工具包,vue.fonfig.js配置项 (下)

系列文章目录 这里是创建移动端项目 【Vue】Vue2.x创建项目全程讲解&#xff0c;保姆级教程&#xff0c;手把手教&#xff0c;Vue2怎么创建项目&#xff08;上&#xff09; 【Vue】Vue2创建移动端项目实战教程&#xff0c;创建移动端项目保姆级教程&#xff0c;接上一篇创建Vue…

2023牛客暑期多校训练营9 B.Semi-Puzzle: Brain Storm

文章目录 题目大意题解求解回溯 参考代码 题目大意 给定两个数 a , m a,m a,m &#xff0c;求满足 a u ≡ u ( m o d m ) a^u \equiv u (mod\ \ m) au≡u(mod m) 的一个解。 ( 1 ≤ a , m ≤ 1 0 9 , 0 ≤ u ≤ 1 0 18 ) (1\leq a,m \leq10^9 ,0\leq u\leq 10^{18}) (1≤a…

玩赚音视频开发高阶技术——FFmpeg

随着移动互联网的普及&#xff0c;人们对音视频内容的需求也不断增加。无论是社交媒体平台、电商平台还是在线教育&#xff0c;都离不开音视频的应用。这就为音视频开发人员提供了广阔的就业机会。根据这些年来网站上的音视频开发招聘需求来看&#xff0c;音视频开发人员的需求…

如何优雅的使用Mock Server

事出有因 昨天跟同事讨论我们在用的rap2(一个集接口编写和mock server的开源项目)和刚上线了一个easy-mock的server&#xff0c;到底哪个好用。 我们主要讨论的点有个两个&#xff1a; 接口的一致性、 编码的无侵入性。 背景 自从前后端分离后&#xff0c;完成前后端的分工…

【计算机视觉|生成对抗】条件生成对抗网络(CGAN)

本系列博文为深度学习/计算机视觉论文笔记&#xff0c;转载请注明出处 标题&#xff1a;Conditional Generative Adversarial Nets 链接&#xff1a;[1411.1784] Conditional Generative Adversarial Nets (arxiv.org) 摘要 生成对抗网络&#xff08;Generative Adversarial…

Windows 11 家庭中文版找不到组策略文件gpedit.msc

最近因为调整日期问题需要用到组策略文件gpedit.msc,但是发现找不到文件 在按键盘 winR 打开运行界面输入 gpedit.msc 回车 Windows找不到文件’gpedit.msc’。请确定文件名是否正确后&#xff0c;再试-次。 检查电脑Windows系统版本 是 Windows 11 家庭中文版 果断早网上搜…

C++模板元编程入门案例

C++模板元编程(Template Metaprogramming)是一种在编译时进行计算和代码生成的技术,它使用C++的模板机制来实现。 下面是一个简单的C++模板元编程的示例,展示了如何在编译时计算一个数的阶乘。 #include <iostream> template <int N> struct Factorial { …