Pandas 基础操作(案持续更新)
引言说到excel或.csv表格中的数据处理就不得不提到pandas模块。这里简单分享一下pandas模块的基础操作。这里表格文件的数据类型以xlsx和csv来举例。正文创建一维带索引的数据Pandas 库中通常我们需要使用 pd.Series() 函数来创建一维数据。Pandas 库中的索引 index 是按行显示index 参数的长度必须要保持和数据的行数一致否则就会报错。dfpd.Series([3,-5,7,4],index[a,b,c,d])print(df) reuslt: a 3 b -5 c 7 d 4 dtype: int64 可以看到一维的数据是以列的形式进行排列的。dfpd.Series([3,-5,7,4])print(df) result: 0 3 1 -5 2 7 3 4 dtype: int64 Pandas 生成的一维数据默认是带索引值的且索引值从 0 开始。注意Pandas Series 创建后默认就有索引而且无法彻底关闭或删除索引因为索引是 Series 的核心数据结构组成部分。但是我们可以在输出的时候令其不显示。一维数据无法设定列名。创建二维带索引的数据Pandas 库中通常我们需要使用 pd.DataFrame() 函数来创建二维数据。默认列名的二维数据data[[Belgium,india,Brazil],[Brussels,New Delhi,Brasilia],[11190846,1303171035,207847528]]dfpd.DataFrame(data)print(df)Pandas 库中二维数据默认的列名称从 0 开始与 index 参数类似。二维数据必须有列名。自定义列名的二维数据从列表指定如果想要自己指定列名可以使用如下方法data[[Belgium,india,Brazil],[Brussels,New Delhi,Brasilia],[11190846,1303171035,207847528]]dfpd.DataFrame(data,columns[Country,Capital,Population])print(df)可以通过 columns 参数指定二维数据的列名称。从字典指定也可以通过字典的关键字信息对二位数据的列名进行指定。importpandasaspd data{Country:[Belgium,india,Brazil],Capital:[Brussels,New Delhi,Brasilia],Population:[11190846,1303171035,207847528]}dfpd.DataFrame(data)print(df)当然也可以再次通过关键字进行列名指定。我们得到与之前一样的结果当前默认列名为[Country, Capital, Population]如果再次通过关键字 columns 进行指定会重写默认列名参数。但是因为此时数据是存放在字典中的列名被改写后原始 values 数据不会存在。importpandasaspd data{Country:[Belgium,india,Brazil],Capital:[Brussels,New Delhi,Brasilia],Population:[11190846,1303171035,207847528]}dfpd.DataFrame(data,columns[0,1,2])print(df)可以看到这里我们创建了一个二维数据其中列标签沿着横向排列。索引值沿着纵向排列。即pd.Series() 函数用于创建一维数据pd.DataFrame() 函数用于创建二维数据。获取一维数据中单个数据值# 通过标签获得单个值dfpd.Series([3,-5,7,4],index[a,b,c,d])print(df[a]) reuslt: 3 # 通过索引获得单个值print(df[0]) reuslt: 3 我们通过标签或者索引均成功地获得了单个数据值获取二维数据中单个数据值数据Country Capital Population0Belgium Brussels111908461india New Delhi13031710352Brazil Brasilia207847528生成数据代码data{Country:[Belgium,india,Brazil],Capital:[Brussels,New Delhi,Brasilia],Population:[11190846,1303171035,207847528]}dfpd.DataFrame(data,columns[Country,Capital,Population])打印数据代码print(df.iloc[0,0])print(df.iat[0,0]) result: Belgium Belgium 可以看到通过DataFrame.iloc()和DataFrame.iat()方法我们均成功地获取到了二维数组中的单个数据值。我们也可以采用其他方式比如print(df.loc[df[Country]Belgium])print(df.loc[df[Country]Belgium].values)print(df.loc[df[Country]Belgium].values[0])print(df.loc[df[Country]Belgium][Country])print(df.loc[df[Country]Belgium][Country].values)print(df.loc[df[Country]Belgium][Country].values[0])print(df.loc[df[Country]Belgium,Country])print(df.loc[df[Country]Belgium,Country].values)print(df.loc[df[Country]Belgium,Country].values[0])print(df.loc[0,Country])输出结果如下读者可自定比对体会Country Capital Population0Belgium Brussels11190846[[BelgiumBrussels11190846]][BelgiumBrussels11190846]0Belgium Name:Country,dtype:object[Belgium]Belgium0Belgium Name:Country,dtype:object[Belgium]Belgium Belgium可以看到df.loc[df[Country]Belgium][Country]与df.loc[df[Country]Belgium, Country]的输出结果一致它们等价可以类比 numpy 二维数组操作。.loc() 函数与 iloc() 函数的区别是loc 基于标签label索引iloc 基于位置position索引。获取DataFrame子集合的值data{Country:[Belgium,india,Brazil],Capital:[Brussels,New Delhi,Brasilia],Population:[11190846,1303171035,207847528]}dfpd.DataFrame(data,columns[Country,Capital,Population])print(df[1:]) result: Country Capital Population 1 india New Delhi 1303171035 2 Brazil Brasilia 207847528 可以看到 我们成功获取到了索引值大于1的原始DataFrame中的所有值。通过标签获得单行的值data{Country:[Belgium,india,Brazil],Capital:[Brussels,New Delhi,Brasilia],Population:[11190846,1303171035,207847528]}dfpd.DataFrame(data,columns[Country,Capital,Population])print(df.loc[[0]]) result: Country Capital Population 0 Belgium Brussels 11190846 可以看到我们成功获取到了单行的值。通过标签获得单列的值data{Country:[Belgium,india,Brazil],Capital:[Brussels,New Delhi,Brasilia],Population:[11190846,1303171035,207847528]}dfpd.DataFrame(data,columns[Country,Capital,Population])print(df[[Country]]) result: Country 0 Belgium 1 india 2 Brazil 可以看到我们成功获取到了单列的值。关于提取数据时参数为什么要带中括号的原因可以看这篇pandas中提取单行单列数据时的参数问题(超链接点击跳转)。码字不易如果大家觉得有用请高抬贵手给一个赞让我上推荐让更多的人看到吧~

相关新闻

为什么你的AI产品图过不了平台审核?版权/光影/比例3大雷区,今天必须解决!

为什么你的AI产品图过不了平台审核?版权/光影/比例3大雷区,今天必须解决!

更多请点击: https://codechina.net 第一章:AI产品图合规性审核的底层逻辑 AI产品图的合规性审核并非简单的人工目检或规则匹配,而是融合法律边界识别、视觉语义解析与生成溯源验证的三维协同机制。其底层逻辑根植于“可解释性约束”与“责任…

2026/10/18 3:19:36 阅读更多 →
WinBtrfs终极指南:3种方法在Windows上完美访问Linux Btrfs文件系统

WinBtrfs终极指南:3种方法在Windows上完美访问Linux Btrfs文件系统

WinBtrfs终极指南:3种方法在Windows上完美访问Linux Btrfs文件系统 【免费下载链接】btrfs WinBtrfs - an open-source btrfs driver for Windows 项目地址: https://gitcode.com/gh_mirrors/bt/btrfs 你是否曾因双系统环境而烦恼?在Linux上创建的…

2026/10/17 22:18:25 阅读更多 →
Android 中Dialog最佳实践

Android 中Dialog最佳实践

1. Dialog的使用及其生命周期Dialog(对话框)是Android中常用的UI组件,用于在应用界面上方弹出一个临时窗口,与用户进行交互。它通常用于显示重要信息、收集用户输入或确认操作。Dialog的生命周期与Activity紧密相关,当…

2026/10/17 10:55:14 阅读更多 →

最新新闻

JMeter并发测试核心参数配置:线程数、Ramp-Up与Duration实战

JMeter并发测试核心参数配置:线程数、Ramp-Up与Duration实战

跑过几次JMeter并发测试之后,你会发现真正决定结果靠不靠谱的,往往不是脚本写得有多花哨,而是线程组里那几个参数怎么搭配。线程数、Ramp-Up、循环次数、Duration,每一项单独看都很好理解,但组合在一起就成了最容易踩坑…

2026/10/18 13:05:46 阅读更多 →
Navicat解压即用版安装配置与故障排查实战指南

Navicat解压即用版安装配置与故障排查实战指南

简介:这份资源是 Navicat 数据库管理工具的免安装解压即用版本,面向需要快速搭建数据库连接环境、又不愿经历繁琐安装流程的开发者与运维人员。压缩包共收录 122 个文件,以 108 个 dll 动态链接库为核心,涵盖数据库驱动与界面组件…

2026/10/18 13:05:46 阅读更多 →
Navicat解压即用版安装配置全攻略:从环境依赖到连接数据库

Navicat解压即用版安装配置全攻略:从环境依赖到连接数据库

简介:这份资源是 Navicat 数据库管理工具的免安装解压即用版本,面向需要快速搭建数据库连接环境、又不愿经历繁琐安装流程的开发者与运维人员,尤其适合临时调试、多版本共存或受权限限制无法正常安装的场景。压缩包共收录 122 个文件&#xf…

2026/10/18 13:05:46 阅读更多 →
Navicat Premium 11 免安装版配置指南:从解压到多数据库连接实战

Navicat Premium 11 免安装版配置指南:从解压到多数据库连接实战

简介:NavicatPremium11破解免安装版面向数据库开发与运维人员,尤其适合需要快速上手、不想经历繁琐安装注册流程的初学者与日常使用者。该版本解压后即可直接运行,无需安装、无需注册,即开即用,能有效解决临时环境搭建…

2026/10/18 13:05:46 阅读更多 →
卡尔曼滤波实战指南:状态估计、EKF/UKF与多传感器融合

卡尔曼滤波实战指南:状态估计、EKF/UKF与多传感器融合

简介:《Kalman Filter from the Ground Up v1.0.2》是一份面向导航、控制、机器人及信号处理等领域的卡尔曼滤波系统教程,适合具备线性代数与概率统计基础的工程技术人员、研究生和科研人员,尤其对状态估计、多传感器融合和动态建模有实践需求…

2026/10/18 13:05:46 阅读更多 →
Java打印PDF全攻略:PDFBox静默打印 + exe4j打包部署

Java打印PDF全攻略:PDFBox静默打印 + exe4j打包部署

刚做完一个跟Java打印PDF有关的交付,正好把整套思路和踩过的坑整理出来。需求不复杂:业务系统里生成了一批PDF报告,要直接从后端送打印机,不弹Windows打印对话框,运维机上还没装Java运行时,程序得打成exe双…

2026/10/18 13:04:45 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →