当前位置: 首页 > 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(“事件内容”); …...

选择AutoCAD许可管理工具的七大关键评估维度

智能选择AutoCAD许可管理工具的七大关键维度你正在为AutoCAD许可证管理找工具&#xff0c;这是个门槛高的活&#xff0c;就是不光是没门路我帮你梳理出七大关键评估维度&#xff0c;帮你少踩坑&#xff0c;多省钱。许可方式匹配是否够精细&#xff1f;AutoCAD的许可机制越细化&…...

4.1.1 SN74LVC14AQ型施密特反相器:从噪声抑制到稳定信号的关键角色

1. 施密特触发器的独特魅力&#xff1a;为什么普通逻辑门解决不了的问题它能搞定&#xff1f; 第一次接触施密特触发器时&#xff0c;我和很多电子工程师一样有个疑问&#xff1a;既然已经有了普通反相器&#xff0c;为什么还需要这种带"双阈值"的奇怪器件&#xff1…...

用 SEONIB批量生成 SEO 博客来提升 Google 排名

用 SEONIB 批量生成 SEO 博客来提升 Google 排名&#xff0c;核心是&#xff1a;先用正确关键词&#xff0b;站内结构“打底”&#xff0c;再用 SEONIB 把这个结构规模化&#xff0c;最后用 Search Console 做数据反馈并持续优化。 下面是一套可以直接在团队里照着做的“SEONIB…...

从14k+star的goview到完整解决方案:手把手教你集成dcluster实现数据可视化全流程

从14kstar的goview到完整解决方案&#xff1a;手把手教你集成dcluster实现数据可视化全流程 在数据驱动的时代&#xff0c;企业对于可视化分析的需求日益增长。开源项目goview凭借其14k的star数&#xff0c;已成为前端数据可视化领域的明星产品。但真正要在企业环境中落地&…...

ESP32-S3播放网络音频避坑指南:PlatformIO库依赖、I2S引脚冲突与内存优化

ESP32-S3音频开发实战&#xff1a;从库依赖管理到高稳定流媒体方案 引言&#xff1a;当智能硬件遇上音频流媒体 在物联网设备上实现音频播放功能&#xff0c;听起来像是把手机上的功能搬到了一个小开发板上——直到你真正开始动手。ESP32-S3凭借其双核处理能力和丰富的外设接口…...

【深度解析】Godzilla流量特征与实战检测技巧

1. Godzilla流量核心特征解析 第一次接触Godzilla流量时&#xff0c;我和很多安全工程师一样被它独特的通信模式所迷惑。这种基于Java编写的Webshell管理工具&#xff0c;在攻防演练中出现的频率越来越高。经过多次实战分析&#xff0c;我总结出几个关键特征点&#xff0c;这些…...

Wan2.2-I2V-A14B私有化部署:基于SpringBoot的后端服务集成指南

Wan2.2-I2V-A14B私有化部署&#xff1a;基于SpringBoot的后端服务集成指南 1. 企业级视频生成平台需求分析 在数字内容创作领域&#xff0c;企业经常面临视频制作效率低下的痛点。传统视频制作流程需要专业团队投入大量时间&#xff0c;从脚本编写到后期剪辑往往需要数周时间…...

HsMod:炉石传说终极模改插件,5个核心功能让游戏体验翻倍

HsMod&#xff1a;炉石传说终极模改插件&#xff0c;5个核心功能让游戏体验翻倍 【免费下载链接】HsMod Hearthstone Modification Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod 你是否曾经在炉石传说中感到等待时间过长&#xff1f;是否希…...

7个高效技巧:用FanControl实现智能风扇精准控制

7个高效技巧&#xff1a;用FanControl实现智能风扇精准控制 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanCo…...

国产信创库fio破坏主备库以及备份故障处理--惜分飞旁

一、各自优势和对比 这是检索出来的数据&#xff0c;据说是根据第三方评测与企业数据&#xff0c;三款产品在代码生成质量上各有侧重&#xff1a; 产品 语言优势 场景亮点 核心差异 百度 Comate C核心代码质量第一&#xff1b;Python首生成率达92.3% SQL生成准确率提升35%&…...