Python进阶学习:Pandas--向DataFrame中指定位置添加一列或多列

news2025/2/23 22:42:16

Python进阶学习:Pandas–向DataFrame中指定位置添加一列或多列
在这里插入图片描述

🌈 个人主页:高斯小哥
🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~
💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)


🌵文章目录🌵

  • 🎉一、引言
  • 📚二、向DataFrame中添加一列
  • 📖三、向DataFrame中添加多列
  • 🔍四、实例演示与代码分析
  • 🌱五、总结与展望
  • 🌟六、期待与你共同进步

文章关键词:#Pandas库 #DataFrame #添加列 #指定位置 #loc属性 #insert方法 #数据分析 #Python进阶

🎉一、引言

  在Python的数据分析领域,Pandas库无疑是最受欢迎的工具之一。它提供了强大的数据处理功能,让我们能够轻松处理和分析海量数据。DataFrame作为Pandas中的核心数据结构,更是让我们能够很方便处理表格数据。然而,如何在DataFrame中向指定位置添加一列或多列,可能是许多初学者感到困惑的问题。本文将详细探讨这个问题,并通过实例演示和代码分析,帮助大家更好地掌握这个技巧。

📚二、向DataFrame中添加一列

要向DataFrame中添加一列,我们可以使用loc属性或者insert方法。下面是一个简单的示例:

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})

# 使用loc属性添加一列
df.loc[:, 'C'] = [7, 8, 9]

# 使用insert方法添加一列(指定位置为1,即A列之后)
df.insert(1, 'D', [10, 11, 12])

print(df)

输出:

   A   D  B  C
0  1  10  4  7
1  2  11  5  8
2  3  12  6  9

  在这个示例中,我们首先创建了一个包含两列(A和B)的DataFrame。然后,我们使用loc属性向DataFrame中添加了一列名为C的列。接着,我们使用insert方法在指定位置(A列之后)添加了一列名为D的列。

📖三、向DataFrame中添加多列

  要向DataFrame中添加多列,我们可以一次性使用loc属性或者多次使用insert方法。下面是一个示例:

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3]})

# 使用loc属性一次性添加多列
df.loc[:, ['B', 'C', 'D']] = [[4, 5, 6], [7, 8, 9], [10, 11, 12]]

# 或者多次使用insert方法添加多列
df.insert(1, 'E', [13, 14, 15])
df.insert(2, 'F', [16, 17, 18])
df.insert(3, 'G', [19, 20, 21])

print(df)

输出:

   A   E   F   G   B   C   D
0  1  13  16  19   4   5   6
1  2  14  17  20   7   8   9
2  3  15  18  21  10  11  12

  在这个示例中,我们首先创建了一个只包含一列(A)的DataFrame。然后,我们使用loc属性一次性向DataFrame中添加了三列(B、C和D)。接着,我们又使用insert方法分三次向DataFrame中添加了三列(E、F和G)。

🔍四、实例演示与代码分析

  为了更好地理解如何向DataFrame中指定位置添加一列或多列,让我们来看一个实际的例子:

  假设我们有一个包含学生信息的DataFrame,其中包含了学生的姓名、年龄和性别。现在,我们想要在这个DataFrame中添加一个新的列“班级”,并且希望这个列位于“年龄”列和“性别”列之间。我们可以按照以下步骤进行操作:

  1. 首先,创建一个包含学生信息的DataFrame:

     import pandas as pd
     
     # 创建一个包含学生信息的DataFrame
     data = {'姓名': ['张三', '李四', '王五'],
             '年龄': [18, 19, 20],
             '性别': ['男', '女', '男']}
     df = pd.DataFrame(data)
    
  2. 然后,使用insert方法将“班级”列添加到指定位置(即“年龄”和“性别”之间):

     # 在指定位置插入“班级”列
     df.insert(2, '班级', ['一班', '二班', '三班'])
     
     print(df)
    

  执行以上代码后,我们会得到一个新的DataFrame,其中包含了新增的“班级”列,并且这个列位于“年龄”和“性别”之间:

   姓名  年龄  班级 性别
0  张三  18  一班  男
1  李四  19  二班  女
2  王五  20  三班  男

🌱五、总结与展望

  通过本文的学习,我们掌握了如何在Pandas的DataFrame中向指定位置添加一列或多列的技巧。无论是使用loc属性还是insert方法,我们都可以轻松实现这一功能。

  在未来的学习中,我们可以进一步探索Pandas的其他功能和应用场景,比如数据清洗、数据转换、数据可视化等。相信随着对Pandas的不断深入了解和实践,我们的数据处理和分析能力也会得到不断提升。

🌟六、期待与你共同进步

  🌱 亲爱的读者,非常感谢你每一次的停留和阅读!你的支持是我们前行的最大动力!🙏

  🌐 在这茫茫网海中,有你的关注,我们深感荣幸。你的每一次点赞👍、收藏🌟、评论💬和关注💖,都像是明灯一样照亮我们前行的道路,给予我们无比的鼓舞和力量。🌟

  📚 我们会继续努力,为你呈现更多精彩和有深度的内容。同时,我们非常欢迎你在评论区留下你的宝贵意见和建议,让我们共同进步,共同成长!💬

  💪 无论你在编程的道路上遇到什么困难,都希望你能坚持下去,因为每一次的挫折都是通往成功的必经之路。我们期待与你一起书写编程的精彩篇章! 🎉

  🌈 最后,再次感谢你的厚爱与支持!愿你在编程的道路上越走越远,收获满满的成就和喜悦!祝你编程愉快!🎉

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

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

相关文章

基础!!!吴恩达deeplearning.ai:卷积层

以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏 文章目录 回顾——密集层 Dense Layer卷积层 Convolutional Neural Network定义优势具体说明心电图卷积层搭建 到目前为止,你使用的所有神经网络层都是密集层类型,这…

idea创建一个简单的maven项目

个人学习笔记(整理不易,有帮助点个赞) 笔记目录:学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 添加-DarchetypeCataloginternal 运行参数 (ps:不填的话,maven 骨架生成速度缓慢) 其实我没…

【Java程序设计】【C00320】基于Springboot的招生宣传管理系统(有论文)

基于Springboot的招生宣传管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的招生宣传管理系统,本系统有管理员以及招生人员二种角色; 前台:首页、专业介绍、师资力量、联…

Mint_21.3 drawing-area和goocanvas的FB笔记(一)

一、关于freebasic和goocanvas Linux下的FreeBasic是C的一种实现,有指针、类、线程,正则表达式,可内嵌asm和其它语言c等,c的h库几乎都能改写后使用(不能直接用,它的.bi可从h近乎自动转换),老的Quick Basic…

图层基本知识

一、图层面板: 二、图层概念: 1.定义:图像的层次,可以单独调整和修改某一个图层,不会影响其他图层。 2.类型: 三、新建图层: 四、删除图层: 五、抓手工具: 快捷方式&a…

Java应用程序注册成Linux系统服务后,关闭Java应用程序打印系统日志

Java应用程序有自己的日志框架,有指定位置的日志文件,不需要在系统日志里记录,占用磁盘空间。 1.Linux系统文件目录 /etc/systemd/system/ 找到要修改的Java应用程序服务配置 比如bis-wz-80.service 2.设置不打印日志 StandardOutputnull S…

web安全学习笔记【20】——信息打点(10)

信息打点-公众号服务&Github监控&供应链&网盘泄漏&证书图标邮箱资产 #知识点: 1、业务资产-应用类型分类 2、Web单域名获取-接口查询 3、Web子域名获取-解析枚举 4、Web架构资产-平台指纹识别 ------------------------------------ 1、开源-CMS指纹…

【InternLM 实战营笔记】XTuner 大模型单卡低成本微调实战

XTuner概述 一个大语言模型微调工具箱。由 MMRazor 和 MMDeploy 联合开发。 支持的开源LLM (2023.11.01) InternLM Llama,Llama2 ChatGLM2,ChatGLM3 Qwen Baichuan,Baichuan2 Zephyr 特色 傻瓜化: 以 配置文件 的形式封装了大…

【Unity】实现从Excel读取数据制作年份选择器

效果预览: 此处利用Excel来读取数据来制作年份选择器,具体步骤如下。 如果只是制作年份选择器可以参考我这篇文章:构建简单实用的年份选择器(简单原理示范) 目录 效果预览: 一、 Excel准备与存放 1.1 …

IntelliJ IDEA上svn分支管理和使用

IntelliJ IDEA上svn分支管理和使用 从Subversion下载trunk下的代码 选择项目创建分支 右键 Subversion --> branch or Tag … 选择Repository Location:需要创建的项目 选择Any Location 分支的位置和名字 详细查看截图 切换到分支 选择项目右键Subversion --> Update …

初阶数据结构:链表相关题目练习(补充)

目录 1. 单链表相关练习题1.1 移除链表元素1.2 反转链表1.3 链表的中间结点1.4 链表的倒数第k个结点1.5 合并两个有序链表1.6 链表分割1.7 链表的回文结构1.8 相交链表1.9 判断一个链表中是否有环1.10 寻找环状链表相遇点1.11 链表的深度拷贝 1. 单链表相关练习题 注&#xff1…

低功耗微处理器复位检测电路D706,工作温度范围-40~+80℃,可与μP监控产品兼容

近年来,微处理器在IT业控制领域和智能化产品中得到了广泛的应用。在系统和产品的开发设计过程中,为了提高其抗干扰能力,使用μP监控是首选技术措施之一。监控芯片可为系统提供上电、掉电复位功能,也可提供其它功能,如后…

SpringBoot 自定义注解实现操作日志记录

文章目录 前言正文一、项目结构介绍二、核心类2.1 核心注解2.1.1 CLog 日志注解2.1.2 ProcessorBean 处理器bean 2.2 切面类2.3 自定义线程池2.4 工具类2.4.1 管理者工具类 2.5 测试2.5.1 订单创建处理器2.5.2 订单管理者2.5.3 订单控制器2.5.4 测试报文2.5.5 测试结果 附录1、…

Docker部署前后端服务示例

使用Docker部署js前端 1.创建Dockerfile 在项目跟目录下创建Dockerfile文件: # 使用nginx作为基础镜像 FROM nginx:1.19.1# 指定工作空间 WORKDIR /data/web# 将 yarn build 打包后的build文件夹添加到工作空间 ADD build build# 将项目必要文件添加到工作空间&a…

【Python】FastAPI 项目创建 与 Docker 部署

文章目录 前言&需求描述1. 本地FastAPI1.1 Python 环境准备1.2 本地 Pycharm 创建FastAPI项目 2. Python FastAPI 部署2.1 服务器配置Python环境2.2.1 下载与配置Git、Pyenv等工具2.2.2 下载与配置Python 2.2 FastAPI 打包成镜像2.2.1 项目准备所需环境文件2.2.2 编写Docke…

python matplotlib 三维实体圆柱图

环境 python:python-3.12.0-amd64 包: matplotlib 3.8.2 import matplotlib.pyplot as plt import matplotlib as mpl import numpy as np from mpl_toolkits.mplot3d import Axes3D import matplotlib.ticker as tickerdef map_rate(X: list, to_min: float, to_max: float)…

Restful风格解释

示例对比 传统风格开发 Restful风格开发 结论: 传统风格开发中,前端不同操作使用不同的url来访问后端,使得访问变得麻烦restful风格中,前端使用相同的url来访问后端,但是用数据传送方式进行区分(get为请求…

DataGrip2023配置连接Mssqlserver、Mysql、Oracle若干问题解决方案

1、Mssqlserver连接 本人连的是Sql2008,默认添加时,地址、端口、实例、账号、密码后,测试连接出现错误。 Use SSL:不要勾选 VM option:填写,"-Djdk.tls.disabledAlgorithmsSSLv3, RC4, DES, MD5withR…

c#使用log4net的3种调用方法

https://blog.csdn.net/summer_top/article/details/107961245 第一步:下载log4net。 右键项目引用,进入管理NuGet包。 搜索log4net,下载安装。 第二步:创建LogHelper类。 public class LogHelper { private LogHelp…

说一说kong日志级别

Kong官网:The Platform Powering the API World | Kong Inc. Kong Gateway:Kong Gateway | Kong Docs Kong Admin API:Admin API - Kong Gateway - v3.4.x | Kong Docs Kong 企业版社区:API Community for Developers and Industr…