Pandas教程16:DataFrame列标题批量重命名+空df数据判断+列名顺序重排

---------------pandas数据分析集合---------------
Python教程71:学习Pandas中一维数组Series
Python教程74:Pandas中DataFrame数据创建方法及缺失值与重复值处理
Pandas数据化分析,DataFrame行列索引数据的选取,增加,修改和删除操作
Pandas教程05:DataFrame数据常用属性和方法汇总
Pandas教程06:DataFrame.merge数据的合并处理
Pandas教程07:DataFrame数据的算术运算+逻辑运算+describe()方法+统计函数+自定义函数运算
Pandas教程08:教你DataFrame数据的条件筛选——精选篇
Pandas教程09:使用date_range函数,创建时间序列数据
Pandas教程10:DataFrame数据可视化绘制折线图、柱状图、散点图、饼形图
Pandas教程11:关于pd.DataFrame.shift(1)数据下移的示例用法
Tkinter教程22:DataFrame数据加入到treeview树视图(含横纵滚动条+正反向排序)
Pandas教程12:常用的pd.set_option方法,显示所有行和列+不换行显示等等…
Pandas教程13:groupby函数的分组、聚合、转换和过滤操作
Pandas教程14:DataFrame数据合并(concat+merge+_append+join)的4种方法
Pandas教程15:多个DataFrame数据(保存+追加)为Excel表格数据

1.可以使用rename()函数来重命名DataFrame的列标题。注意,rename()函数默认返回一个新的DataFrame,而不是在原地修改原始DataFrame。如果你想要在原df上修改,可以设置inplace=True参数:

df.rename(columns=column_mapping, inplace=True)

我们首先创建了一个包含三列(‘A’, ‘B’, ‘C’)的DataFrame。然后,我们定义了一个字典column_mapping,其中键是原始列标题,值是新的列标题。我们使用rename()函数和columns参数来应用这个映射,得到一个新的DataFrame df_renamed,其中列标题已经被重命名。

# @Author : 小红牛
# 微信公众号:WdPython
import pandas as pd# 1.创建一个示例DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)print('1.原始DataFrame数据:'.center(30, '-'))
print(df)# 2.使用字典来重命名列标题
column_mapping = {'A': 'New_A', 'B': 'New_B', 'C': 'New_C'}
df_renamed = df.rename(columns=column_mapping)print('2.重命名后的DataFrame数据:'.center(30, '-'))
print(df_renamed)

输出内容


-------1.原始DataFrame数据:-------A  B  C
0  1  4  7
1  2  5  8
2  3  6  9
-----2.重命名后的DataFrame数据:------New_A  New_B  New_C
0      1      4      7
1      2      5      8
2      3      6      9

2.想把上面的df数据中ABC列顺序,显示为CAB顺序。通过指定列的新顺序[‘C’, ‘A’, ‘B’]来实现列的重新排序。最后,我们打印出重新排序后的DataFrame即可。

# @Author : 小红牛
# 微信公众号:WdPython
import pandas as pd# 1.创建一个示例DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)print('1.原始DataFrame数据:'.center(30, '-'))
print(df)# 2.方法1:将列顺序从ABC更改为CAB
df_reordered = df[['C', 'A', 'B']]
# 打印重新排序后的DataFrame
print('2.方法1:重新调序后的DataFrame数据:'.center(30, '-'))
print(df_reordered)
# 3.方法2:将列顺序从ABC更改为CAB
# 定义新的列顺序
new_column_order = ['C', 'A', 'B']
# 使用reindex方法调整列顺序
new_df = df.reindex(columns=new_column_order)
print('3.方法2:重新调序后的DataFrame数据:'.center(30, '-'))
print(new_df)

输出内容

------1.原始DataFrame数据:-------A  B  C
0  1  4  7
1  2  5  8
2  3  6  9
---2.方法1:重新调序后的DataFrame数据:---C  A  B
0  7  1  4
1  8  2  5
2  9  3  6
---3.方法2:重新调序后的DataFrame数据:---C  A  B
0  7  1  4
1  8  2  5
2  9  3  6

3.要判断一个DataFrame是否为空数据,您可以检查DataFrame的empty属性。如果DataFrame没有任何行或列,那么它的empty属性将返回True。

# @Author : 小红牛
# 微信公众号:WdPython
import pandas as pd
#  创建一个空的DataFrame数据
empty_df = pd.DataFrame()
print('1.原始空的DataFrame数据:'.center(30, '-'))
print(empty_df)
# 1.检查DataFrame是否为空
if empty_df.empty:print("这是一个空DataFrame数据")
else:print("这不是一个空DataFrame数据")# 2.创建一个非空的DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
non_empty_df = pd.DataFrame(data)
print('2.原始非空的DataFrame数据:'.center(30, '-'))
print(non_empty_df)
# 3.检查DataFrame是否为空
if non_empty_df.empty:print("这是一个空DataFrame数据")
else:print("这不是一个空DataFrame数据")

输出内容:

------1.原始空的DataFrame数据:------
Empty DataFrame
Columns: []
Index: []
这是一个空DataFrame数据
-----2.原始非空的DataFrame数据:------A  B  C
0  1  4  7
1  2  5  8
2  3  6  9
这不是一个空DataFrame数据

除了检查empty属性外,还可以检查DataFrame的行数和列数是否为零,以确定它是否为空:shape属性返回一个元组,其中shape[0]表示行数,shape[1]表示列数。如果两者都为零,那么DataFrame就是空的。

if empty_df.shape[0] == 0 and empty_df.shape[1] == 0:  print("这是一个空DataFrame")

完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame

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

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

相关文章

Latex 超长矩阵如何处理显示问题

问题 矩阵内容太多,不能完全显示。下面是我的处理方法。 双栏论文中矩阵跨栏显示 使用 \begin{figure*}给公式包起来,跨双栏 \begin{figure*}[t]\begin{equation}T_{PRY} \left[% \setlength\arraycolsep{2.5pt}\begin{array}{cccc}A & B …

面试经典150题——随机链表的复制

​前两天断更了两天有点事情🤗 1. 题目描述 2. 题目分析与解析 2.1 思路一 开始还是没什么思路,没思路那就先把题目解决不管方法的好坏。如果不考虑复杂度,该怎么解决? 可以有这样的一种思路: 首先复制链表的所有节…

【python绘图】turle 绘图基本案例

文章目录 0. 基础知识1. 蟒蛇绘制2. 正方形绘制3. 六边形绘制4. 叠边形绘制5. 风轮绘制 0. 基础知识 资料来自中国mooc北京理工大学python课程 1. 蟒蛇绘制 import turtle turtle.setup(650, 350, 200, 200) turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pen…

jeesite列表jqGrid表格底部汇总,基于onSelectRow和onSelectAll实现选中行汇总合计

一、最终效果图 二、表格启用复选框并初始化赋值 onSelectAll: function() { calc_sum(); }, onSelectRow: function() { calc_sum(); },// 加载成功后执行事件 ajaxSuccess: function(data){var dy = 0;var glbzqmrsdtyg = 0;var glbzqmrsschyg = 0;var glbzqmrsqtcy …

【贪心算法】Leetcode 55. 跳跃游戏

【贪心算法】Leetcode 55. 跳跃游戏 解法1解法2 ---------------🎈🎈55. 跳跃游戏 题目链接🎈🎈------------------- 解法1 关键点在于:不用拘泥于每次究竟跳几步,而是看覆盖范围,覆盖范围内…

Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法

前言: 本篇博客超级详细,请尽量使用电脑端结合目录阅读 阅读时请打开右侧 “只看目录” 方便阅读 一、什么是Python 1.1 Python的诞生 1989年,为了打发圣诞节假期,Gudio van Rossum吉多 范罗苏姆(龟叔)决…

Qt自定义标题栏的多屏适配

标题栏自定义 参考博客 : https://blog.csdn.net/goforwardtostep/article/details/53494800 多屏适配 MyTitleBar类抽象定义了自定义标题栏,使用起来相对方便。但是在多屏情况下,窗口初次显示只能在主屏幕上,如果拖到其他屏幕…

Gitee配置SSH登录

一、背景 新入手的电脑,需要对Gitee上存放的项目进行更改上传,发现上传不了需要登录,便采用SSH密钥进行登录,防止远程管理工程中的信息泄露 二、前提 电脑已下载Git Bash工具,在项目下点击鼠标右键,进入…

Linux 中搭建 主从dns域名解析服务器

CSDN 成就一亿技术人! 作者主页:点击! Linux专栏:点击! CSDN 成就一亿技术人! ————前言———— 主从(Master-Slave)DNS架构是一种用于提高DNS系统可靠性和性能的配置方式。…

opencv人脸识别实战3:多线程和GUI界面设计(PyCharm实现)

一、多线程设计 1、在一个新线程中调用了 scan_face() 函数来进行人脸识别操作。根据识别结果,更新界面显示结果,最后释放资源。 def f_scan_face_thread():var.set(刷脸)ans scan_face()if ans 0:print("最终结果:无法识别")va…

《互联网的世界》第七讲-能源

本想聊聊 tcp 和 quic,但这些都属于术的范畴,变化多端,等孩子们长大了又不知变成什么样子了,趁这段时间在家,还是得讲一些相对不变的东西,或法或势。 从 安阳卖血糕的精巧篦子 想到如何做圆米粉和圆面条&a…

【管理咨询宝藏39】某四大咨询公司D记PPT模板

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏39】某四大咨询公司D记PPT模板 【格式】PPT版本,可编辑, 【关键词】PPT模板,PPT图表 【文件核心观点】 - 2…

什么是分段锁?

1、典型回答 分段锁是一种将锁细化到每个段(Segment) 级别的锁设计。在 ConcurrentHashMap 中,它将整个数据结构分成多个段,每个段只锁定自己的一部分数据。每个段可以看作是一个独立的分组,只锁定该段(Segment)内部的数据操作,不…

OJ_八皇后

题干 C实现 深度优先遍历&#xff0c;注意回溯打表法&#xff1a;先求出所有解&#xff0c;再存入一个容器中 #define _CRT_SECURE_NO_WARNINGS#include <iostream> #include <vector>using namespace std;vector<vector<int>> queenVec;//用来存在所…

2024年中国AI服务器行业发展

环洋咨询Global Info Research的AI服务器市场调研报告提供AI服务器市场的基本概况&#xff0c;包括定义&#xff0c;分类&#xff0c;应用和产业链结构&#xff0c;同时还讨论发展政策和计划以及制造流程和成本结构&#xff0c;分析AI服务器市场的发展现状与未来市场趋势&#…

Flink通讯模型—Akka与Actor模型

Carl Hewitt 在1973年对Actor模型进行了如下定义&#xff1a;"Actor模型是一个把Actor作为并发计算的通用原语". Actor是异步驱动&#xff0c;可以并行和分布式部署及运行的最小颗粒。也就是说&#xff0c;它可以被分配&#xff0c;分布&#xff0c;调度到不同的CPU&…

操作系统总结(第二周 第一堂)

前言&#xff1a; 第一周的重点就在于一张图表&#xff1a; 基于这张图&#xff0c;我们将陷入内核分为了两个大块Trap和Interrupt。同时我们知道一件事情任何一次I/O操作或者错误程序操作都将陷入内核&#xff0c;从而使得内核可以监控所有的外部设备以及维护整个电脑程序运行…

C语言 --- 指针(5)

目录 一.sizeof和strlen对比 1.sizeof 2.strlen 3.strlen 和sizeof的对比 二.数组和指针笔试题目详解 回顾&#xff1a;数组名的理解 1.一维数组 2.字符数组 代码1&#xff1a; 代码2&#xff1a; 代码3&#xff1a; 代码4&#xff1a; 代码5&#xff1a; 代码6&am…

Mysql引擎MyISAM

MySQL是一个关系型数据库管理系统&#xff0c;由瑞典MySQL AB公司开发&#xff0c;后来被Sun Microsystems收购&#xff0c;并于2010年纳入Oracle公司。MySQL的架构主要分为四个层次&#xff0c;分别是连接层&#xff0c;服务层&#xff0c;引擎层和物理文件存储层。其中&#…

【智能算法】白鲨算法(AVOA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.代码实现4.参考文献 1.背景 2022年&#xff0c;Braik 等人受到白鲨捕食行为启发&#xff0c;提出了非洲秃鹫优化算法(White Shark Optimizer, WSO)。 2.算法原理 2.1算法思想 海洋中白鲨拥有敏锐的感知、听觉和嗅觉&#xf…