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

最近更新

  1. TCP协议是安全的吗?

    2024-03-15 14:50:01       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-15 14:50:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-15 14:50:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-15 14:50:01       18 阅读

热门阅读

  1. 学习Android的第二十九天

    2024-03-15 14:50:01       19 阅读
  2. 基于SpringBoot+Druid实现多数据源:原生注解式

    2024-03-15 14:50:01       20 阅读
  3. spring boot单元测试

    2024-03-15 14:50:01       23 阅读
  4. kotlin 程序 编译与执行

    2024-03-15 14:50:01       22 阅读
  5. R语言系列2——R语言数据处理技巧

    2024-03-15 14:50:01       20 阅读
  6. MSQL中DATETIME或TIMESTAMP的区别

    2024-03-15 14:50:01       19 阅读
  7. QCOM和其他常见芯片平台术语缩写

    2024-03-15 14:50:01       18 阅读
  8. 牛客小白月赛61-C-小喵觅食

    2024-03-15 14:50:01       20 阅读
  9. C# MG.CamCtrl 工业相机库(开源) 海康 大恒

    2024-03-15 14:50:01       23 阅读