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

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()

相关文章:

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

Python学习笔记第五十五天 Pandas CSV 文件read_csv()to_string()to_csv() 数据处理head()tail()fillna() info() 后记 Pandas CSV 文件 CSV&#xff08;Comma-Separated Values&#xff0c;逗号分隔值&#xff0c;有时也称为字符分隔值&#xff0c;因为分隔字符也可以不是逗号…...

自然语言处理: 第七章GPT的搭建

自然语言处理: 第七章GPT的搭建 理论基础 在以transformer架构为框架的大模型遍地开花后&#xff0c;大模型的方向基本分成了三类分别是: decoder-only架构 , 其中以GPT系列为代表encoder-only架构&#xff0c;其中以BERT系列为代表encoder-decoder架构&#xff0c;标准的tr…...

【奶奶看了都会】2分钟学会制作最近特火的ikun幻术图

1.效果展示 最近ikun幻术图特别火啊&#xff0c;在网上能找到各种各样的ikun姿势图片&#xff0c;这些图片都是AI绘制的&#xff0c;能和风景完美融合在一起&#xff0c;今天小卷就来教大家怎么做这种图片 先看看图片效果 视频链接&#xff1a; 仿佛见到一位故人&#xff0c;…...

【深度学习】【风格迁移】Zero-shot Image-to-Image Translation

论文&#xff1a;https://arxiv.org/abs/2302.03027 代码&#xff1a;https://github.com/pix2pixzero/pix2pix-zero/tree/main 文章目录 Abstract1. Introduction相关工作3. Method Abstract 大规模文本到图像生成模型展示了它们合成多样且高质量图像的显著能力。然而&#x…...

Day 30 C++ STL 常用算法(上)

文章目录 算法概述常用遍历算法for_each——实现遍历容器函数原型示例 transform——搬运容器到另一个容器中函数原型注意示例 常用查找算法find——查找指定元素函数原型示例 find_if—— 查找符合条件的元素函数原型示例 adjacent_find——查找相邻重复元素函数原型示例 bina…...

MES系统在机器人行业生产管理种的运用

机器人的智能水平也伴随技术的迭代不断攀升。 2021年的春晚舞台上&#xff0c;来自全球领先工业机器人企业abb的全球首款双臂协作机器人yumi&#xff0c;轻松自如地表演了一出写“福”字&#xff0c;赢得了全国观众的赞叹。 在汽车装配领域&#xff0c;一台机器人可以自主完成一…...

Spark(39):Streaming DataFrame 和 Streaming DataSet 输出

目录 0. 相关文章链接 1. 输出的选项 2. 输出模式(output mode) 2.1. Append 模式(默认) 2.2. Complete 模式 2.3. Update 模式 2.4. 输出模式总结 3. 输出接收器(output sink) 3.1. file sink 3.2. kafka sink 3.2.1. 以 Streaming 方式输出数据 3.2.2. 以 batch …...

【云原生】Docker 详解(一):从虚拟机到容器

Docker 详解&#xff08;一&#xff09;&#xff1a;从虚拟机到容器 1.虚拟化 要解释清楚 Docker&#xff0c;首先要解释清楚 容器&#xff08;Container&#xff09;的概念。要解释容器的话&#xff0c;就需要从操作系统说起。操作系统太底层&#xff0c;细说的话一两本书都说…...

代码随想录第48天 | 198. 打家劫舍、213. 打家劫舍II、337. 打家劫舍III

198. 打家劫舍 当前房屋偷与不偷取决于 前一个房屋和前两个房屋是否被偷了。 递归五部曲&#xff1a; dp[i]&#xff1a;考虑下标i&#xff08;包括i&#xff09;以内的房屋&#xff0c;最多可以偷窃的金额为dp[i]。决定dp[i]的因素就是第i房间偷还是不偷。 如果偷第i房间&…...

【LeetCode】按摩师

按摩师 题目描述算法分析编程代码 链接: 按摩师 题目描述 算法分析 编程代码 class Solution { public:int massage(vector<int>& nums) {int n nums.size();if(n 0) return 0;vector<int> f(n);auto g f;f[0] nums[0];for(int i 1;i<n;i){f[i] g[i…...

国际腾讯云账号云核算概述!!

云核算概述 维基百科界说&#xff1a;云核算是一种依据互联网的新型核算方法&#xff0c;经过互联网上异构、自治的服务为个人和企业供给按需即取的核算。 云核算描绘的一起特征&#xff1a;云是一种按需运用的服务&#xff0c;运用者只重视服务本身。 云核算作为IT服务形式&am…...

.NET 6.0 重启 IIS 进程池

在 .NET 6.0 中&#xff0c;你可以使用 Microsoft.Web.Administration 命名空间提供的 API 来管理 IIS 进程池并实现重启操作。以下是一个示例代码&#xff0c;展示如何使用 .NET 6.0 中的 Microsoft.Web.Administration 来重启 IIS 进程池&#xff1a; using Microsoft.Web.A…...

一位心理学教师对ChatGPT的看法,提到了正确地使用它的几个要点

在没有自主学习能力和有自主学习能力的两类学生中&#xff0c;ChatGPT的出现&#xff0c;会加大他们在知识学习及思维发展上的鸿沟。爱学习的人会因为AI变得更好…… 从2022年年底起&#xff0c;ChatGPT的技术突破使人类终于进入了一个AI被广泛应用在工作、学习、生活的时代。…...

认识Node.js及三个模块

文章目录 1.初识 Node.js1.1 什么是 Node.js1.2 Node.js 中的 JavaScript 运行环境1.3 Node.js 可以做什么1.4 Node.js 环境的安装1.4.1 区分 LTS 版本和 Current 版本的不同1.4.2 查看已安装的 Node.js 的版本号1.4.3 什么是终端1.4.4 终端中的快捷键 1.5 在 Node.js 环境中执…...

49 | 公司销售数据分析

公司销售数据分析报告 本数据是2012~2014年间一家生产体育类产品的全球销售订单数据,分别按时间、产品类别、销售国家统计产品销售情况,分析销售额和利润额统计各产品市场占有份额,为下一步生产计划提供有价值的建议。 数据大小:88475 行, 11 列 Retailer country销售国…...

Android 项目导入高德SDK初次上手

文章目录 一、前置知识&#xff1a;二、学习目标三、学习资料四、操作过程1、创建空项目2、高德 SDK 环境接入2.1 获取高德 key2.2下载 SDK 并导入2.2.1、下载SDK 文件2.2.2、SDK 导入项目2.2.3、清单文件配置2.2.4、隐私权限 3、显示地图 一、前置知识&#xff1a; 1、Java 基…...

生成树协议用来解决网络风暴的问题?(第三十二课)

生成树协议用来解决网络风暴的问题?(第三十二课) 一 STP RSTP MSTP 介绍 STP(Spanning Tree Protocol)、RSTP(Rapid Spanning Tree Protocol)和MSTP(Multiple Spanning Tree Protocol)都是用于网络中避免环路的协议。 STP是最初的协议,它通过将某些端口阻塞来防止…...

git分支操作

Git分支的操作 1.1 Git分支简介 Git分支是由指针管理起来的&#xff0c;所以创建、切换、合并、删除分支都非常快&#xff0c;非常适合大型项目的开发。 在分支上做开发&#xff0c;调试好了后再合并到主分支。那么每个人开发模块式都不会影响到别人。 分支使用策略&#xf…...

【基础学习笔记 enum】TypeScript 中的 enum 枚举类型介绍

因为之前网上查好多博客都是只说最基础的&#xff0c;所以这里记录一下&#xff0c;最基础的放在最后面。 这里重点要记录的是枚举成员的值可以是字符串&#xff08;字符串枚举&#xff0c;因为网上大部分只介绍常数枚举&#xff09;&#xff0c;需要注意的一点是&#xff0c;…...

SpringBoot中间件使用之EventBus、Metric、CommandLineRunner

1、EventBus 使用EventBus 事件总线的方式可以实现消息的发布/订阅功能&#xff0c;EventBus是一个轻量级的消息服务组件&#xff0c;适用于Android和Java。 // 1.注册事件通过 EventBus.getDefault().register(); // 2.发布事件 EventBus.getDefault().post(“事件内容”); …...

Obsidian PDF++:如何在Obsidian中实现PDF与笔记的无缝双向链接?

Obsidian PDF&#xff1a;如何在Obsidian中实现PDF与笔记的无缝双向链接&#xff1f; 【免费下载链接】obsidian-pdf-plus PDF: the most Obsidian-native PDF annotation & viewing tool ever. Comes with optional Vim keybindings. 项目地址: https://gitcode.com/gh_…...

智能手机相机光谱特性测量与多光谱成像技术

1. 智能手机相机光谱特性测量基础智能手机相机的光谱灵敏度函数(Spectral Sensitivity Function, SSF)和透射率函数是计算摄影领域的核心参数&#xff0c;它们决定了设备对光信号的响应特性。准确获取这些参数对色彩还原、光谱重建和白平衡校准等任务至关重要。1.1 光谱灵敏度函…...

sudo企业级应用【20260525】001篇

文章目录 一、总体设计思路 1️⃣ 设计原则 2️⃣ 日志策略(重点) 二、10 个真实生产场景(含 sudoers 配置) 🔹 Linux 系统管理(3 个) ✅ 场景 1:基础运维(用户 / 权限) ✅ 场景 2:磁盘与文件系统 ✅ 场景 3:网络与防火墙 🔹 云管理(2 个) ✅ 场景 4:云 CLI …...

Claude本地化部署终极方案(企业级容器化全栈手册):支持Anthropic API兼容、流式响应、模型热切换与RBAC权限隔离

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Claude本地化部署的架构全景与企业级价值定位 Claude本地化部署并非简单地将模型权重下载后运行&#xff0c;而是一套融合推理引擎优化、安全沙箱隔离、API网关治理与可观测性集成的端到端架构体系。其核心目…...

【紧急预警】92%的DeepSeek测试用例生成失败源于这4个隐性配置缺陷——资深SDET连夜整理修复清单

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;DeepSeek测试用例生成的现状与危机本质 当前&#xff0c;DeepSeek系列大模型&#xff08;如DeepSeek-Coder、DeepSeek-VL&#xff09;在代码生成与理解任务中展现出强大能力&#xff0c;但其测试用例自动生成…...

基于ATmega2560与ISD1700的智能语音时钟:硬件选型、软件架构与避坑指南

1. 项目概述与核心价值去年折腾那个用ATMega328驱动三块显示屏的时钟时&#xff0c;我主要精力都花在了如何在320x240的TFT屏幕上把时间、日期和图标画得又准又好看上。项目在《Elektor》杂志上发表后&#xff0c;一位热心的读者给我提了个新想法&#xff1a;能不能做个会“说话…...

WTF Auto Layout? 实战:10个常见约束冲突案例解析与解决方案

WTF Auto Layout? 实战&#xff1a;10个常见约束冲突案例解析与解决方案 【免费下载链接】wtfautolayout The source code for Why The Failure, Auto Layout? 项目地址: https://gitcode.com/gh_mirrors/wt/wtfautolayout 在iOS开发中&#xff0c;Auto Layout是构建灵…...

Codex使用API Key授权无法使用插件?

小伙伴们&#xff0c;大家好&#xff0c;我是小溪&#xff0c;见字如面。对于没有ChatGPT账号的小伙伴来说&#xff0c;虽然可以通过API Key授权的方式使用Codex桌面端&#xff0c;但是会有一些限制。比如无法使用插件功能&#xff0c;无法使用Codex移动端进行远程控制等。为了…...

5A智慧景区建设|对标一流!巨有科技打造数智化标杆景区

5A级景区是中国旅游的最高标准&#xff0c;代表着服务与管理的顶尖水平。随着5A评审标准日益严苛&#xff0c;“智慧化”已成为核心硬性指标。然而&#xff0c;不少景区的智慧化建设陷入“重硬件、轻整合”的误区&#xff0c;系统林立、数据孤岛&#xff0c;投入巨大却效果不佳…...

国内大学生常用的AI写作辅助平台有哪些?

国内高校学生常用的 AI 写作辅助平台&#xff0c;以本土化全流程工具为主&#xff0c;结合通用大模型与专项功能模块&#xff0c;覆盖选题构思、大纲搭建、初稿撰写、语言润色、降重处理、查重检测及格式排版等关键环节&#xff0c;以下是主流平台详解与对比&#xff1a; 一、本…...