Python基础之pandas:Series和DataFrame定义及使用

news2025/7/7 9:09:39

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、Series特点
  • 二、Series使用步骤
    • 1.Series定义
    • 2.索引和切片
    • 3.series的.get()
    • 4.掩码提取
    • 5.Series运算符和广播方法
    • 6.ufunc在Series对象中使用
  • 三、DataFrame
    • 1.DataFrame创建
    • 2.数据提取
    • 3.行列增删改
    • 4.列顺序修改
    • 5.索引和列名修改
    • 6.Series.astype()
  • 四、DataFrame表合并、连接
    • 1.pd.concat(df1,df2)合并
    • 2.pd.append(df)拼接
    • 3.pd.merge()


前言

pandas有两种基本对象:Series、DataFrame


一、Series特点

  • 一个带有名称和索引的一维数组
  • Series中包含的数据类型可以是整数、浮点、字符串、列表、元组、ndarray等
  • 语法:pd.Series(data=None,index=None,dtype=None,name=None)

二、Series使用步骤

1.Series定义

在这里插入图片描述
在这里插入图片描述

2.索引和切片

在这里插入图片描述

3.series的.get()

series和字典非常类似,我们可以将index看成key,对应值为value
如果在series中找不到要找的值,则返回预设的默认值
在这里插入图片描述

4.掩码提取

在这里插入图片描述

5.Series运算符和广播方法

Series支持ndarray的运算符、广播方法,包括numpy中的各种运算函数、聚合函数等
在这里插入图片描述

6.ufunc在Series对象中使用

在这里插入图片描述

三、DataFrame

DataFrame是一个带有索引的二维数据结构,每个列都可以有自己的名字,且可以有不同的数据类型。与Excel中sheet页相似,也可理解为由多个Series拼接而成,共用一个索引。

1.DataFrame创建

语法:pd.DataFrame(data=None,index=None,columns=None,dtype=None)
1、通过数组转化
2、通过字典转化
3、通过嵌套列表转化
在这里插入图片描述

  • df.index增加或修改行标签
  • df.index.name增加或修改行标签名
  • df.columns增加或修改列标签
  • df.columns.name增加或修改列标签名

2.数据提取

  • 根据标签名提取
    在这里插入图片描述
  • df.loc[]
    语法:df.loc[索引行,索引列]
    在这里插入图片描述
  • df.iloc[]
    隐式索引
    在这里插入图片描述

3.行列增删改

在这里插入图片描述

  • df.pop()只能删除列,直接在原数据上修改
    在这里插入图片描述

  • df.drop(),设置implace=False并没有删除原表记录,而是返回一个新的DataFrame对象,为true时,则之间在原数据上修改
    在这里插入图片描述

4.列顺序修改

修改后返回新的对象,原数据并不变
在这里插入图片描述

5.索引和列名修改

  • 修改索引名用需要在df.rename()中设置index参数
  • 修改列名只需要设置参数columns
    在这里插入图片描述

6.Series.astype()

不改变原数组,返回新的对象
在这里插入图片描述

四、DataFrame表合并、连接

1.pd.concat(df1,df2)合并

在这里插入图片描述

2.pd.append(df)拼接

在这里插入图片描述

3.pd.merge()

pd.merge(‘left’,‘right’,how=‘inner’,on=None,left_on=None,right=None)
how:

  • left:仅使用左框架中的键,类似于sql中左外连接,保留关键顺序
  • right:仅使用右框架中的键,类似于sql中右外连接,保留关键顺序
  • outer:使用来自两个帧的键的并集,类似于sql full outer,按字典顺序排序键
  • inner:使用来自两个帧的键的交集,类似于sql内部加入,按左键排序
    在这里插入图片描述
    在这里插入图片描述

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

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

相关文章

使用python实现i茅台自动预约

使用python实现i茅台自动预约[仅限于学习,不可商用] 运行: 直接运行 imtApi.py 打包:切换到imt脚本目录,执行打包命令: pyinstaller --onefile imtApi.py这个应用程序可以帮助你进行茅台自动化配置。以下是一些使用…

【Laravel】06 数据库迁移工具migration

【Laravel】06 数据库迁移工具migration 1.migration文件目录2. 举例 1.migration文件目录 2. 举例 (base) ➜ example-app php artisan migrate Migration table created successfully. Migrating: 2014_10_12_000000_create_users_table Migrated: 2014_10_12_000000_crea…

Java基础学习: JDK动态代理

文章目录 一、什么是JDK动态代理二、JDK动态代理的特点三、JDK动态代理类如何使用四、JDK动态代理原理分析1、创建代理对象2、生成代理类 一、什么是JDK动态代理 JDK动态代理是Java提供的一种动态生成代理类和代理对象的技术。它主要利用Java的反射机制实现,在运行…

算法学习——LeetCode力扣动态规划篇10(583. 两个字符串的删除操作、72. 编辑距离、647. 回文子串、516. 最长回文子序列)

算法学习——LeetCode力扣动态规划篇10 583. 两个字符串的删除操作 583. 两个字符串的删除操作 - 力扣(LeetCode) 描述 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个…

2010-2021年各省碳排放测算数据(含原始数据+计算过程+结果)

2010-2021年各省碳排放测算数据(含原始数据计算过程结果) 1、时间:2010-2021年 2、指标:原煤(万吨)、原煤(万吨CO2)、焦炭(万吨)、焦炭(万吨CO2)、汽油(万吨)、汽油(万吨CO2)、煤油(万吨)、煤油(万吨CO2)、柴油(万吨)、柴油(万吨…

vivado XVC 服务器实现

XVC 服务器实现 您需要实现 XVC 协议才能在相应的处理器上创建 XVC 服务器。 XVC 协议 XVC 协议允许 Vivado IDE 通过以太网向嵌入式系统发送 JTAG 命令 , 以便对目标赛灵思器件进行编程和 / 或调试。这样 即可采用任意供应商解决方案来对赛灵思器件进行调…

《Java面试自救指南》(专题一)操作系统

文章目录 力推操作系统的三门神课操作系统的作用和功能线程、进程和协程的区别并行与并发的区别什么是文件描述符操作系统内核态和用户态的区别用户态切换到内核态的方式大内核和微内核的区别用户级线程和内核级线程的区别线程的七态模型进程调度算法有哪些进程间通信的七种方式…

Python之Opencv进阶教程(2):统计图片灰度级别的像素数量

1、什么是灰度像素数量 在OpenCV中,可以使用**cv2.calcHist()**函数来计算图像的直方图。直方图是一种图形统计表,用于表示图像中每个灰度级别(或颜色通道)的像素数量或密度分布。以下是一个示例代码,演示了如何使用O…

Qt源程序编译及错误问题解决

Error 5 while parsing C:/qt-everywhere-src-6.6.2/qt-build/qtdeclarative/src/qmlmodels/meta_types/qt6qmlmodels_release_metatypes.json: illegal value .json 文件为空文件0字节,加 “[]”,不要引号。可以解决这类错误。 Qt编译 Qt for Windows…

重读Java设计模式: 深入探讨建造者模式,构建复杂对象的优雅解决方案

引言 在软件开发中,有时需要构建具有复杂结构的对象,如果直接使用构造函数或者 setter 方法逐个设置对象的属性,会导致代码变得冗长、难以维护,并且容易出错。为了解决这个问题,我们可以使用建造者模式。 一、建造者…

CCF2025上海国际日用百货(春季)博览会

CCF2025上海国际日用百货(春季)博览会 时间:2025年3月7-9日 地点:上海新国际博览中心 预订以上展会详询陆先生 I38(前三位) I82I(中间四位) 9I72(后面四位&#xf…

算法系列--动态规划--背包问题(1)--01背包介绍

💕"趁着年轻,做一些比较cool的事情"💕 作者:Lvzi 文章主要内容:算法系列–动态规划–背包问题(1)–01背包介绍 大家好,今天为大家带来的是算法系列--动态规划--背包问题(1)--01背包介绍 一.什么是背包问题 背包问题是…

【Qt 学习笔记】Day1 | Qt 背景介绍

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Day1 | Qt 背景介绍 文章编号:Qt 学习笔记 / 01 文章目录…

腾讯2024实习生在线笔试-0331

Q1 小红的图上染色 小红拿到了一个无向图,其中一些边被染成了红色。 小红定义一个点是“好点”,当且仅当这个点的所有邻边都是红边。 现在请你求出这个无向图“好点”的数量。 注:如果一个节点没有任何邻边,那么它也是好点。 …

webpack打包模块

webpack打包模块 一.webpack简介二.Webpack 修改入口和出口三.Webpack 自动生成 html 文件四.Webpack-打包 css 代码五.优化-提取 css 代码六.优化压缩过程七.Webpack-打包图片 一.webpack简介 1.Webpack 是一个静态模块打包工具,从入口构建依赖图,打包…

使用MySQL和PHP创建一个公告板

目录 一、创建表 二、制作首页(创建主题以及显示列表) 三、制作各个主题的页面(输入回帖和显示列表) 四、制作消息的查询界面 五、制作读取数据库信息的原始文件 六、制作数据重置页面 七、效果图 八、问题 1、目前无法处…

LLM大语言模型(八):ChatGLM3-6B使用的tokenizer模型BAAI/bge-large-zh-v1.5

背景 BGE embedding系列模型是由智源研究院研发的中文版文本表示模型。 可将任意文本映射为低维稠密向量,以用于检索、分类、聚类或语义匹配等任务,并可支持为大模型调用外部知识。 BAAI/BGE embedding系列模型 模型列表 ModelLanguageDescriptionq…

python实战之宝塔部署flask项目

一. 项目 这个demo只是提供了简单的几个api接口, 并没有前端页面 # -*- coding: utf-8 -*- import flask as fk from flask import jsonify, requestapp fk.Flask(__name__)app.route(/api/hello, methods[GET]) def get_data():return hello world# 假设我们要提供一个获取用…

练习3-2 计算符号函数的值

对于任一整数n,符号函数sign(n)的定义如下: 请编写程序计算该函数对任一输入整数的值。 输入格式: 输入在一行中给出整数n。 输出格式: 在一行中按照格式“sign(n) 函数值”输出该整数n对应的函数值。 输入样例1: 10输出样例1: sign(10) 1输入样…

PyQt6实战4-Terminal

实现一个简单的终端执行器 功能: 执行命令 显示结果 效果: 代码: from PyQt6.QtWidgets import * from PyQt6.QtCore import * from PyQt6.QtGui import * import sys import subprocessclass JTerminal(QMainWindow):def __init__(self, …