pandas dataframe按照列名给列排序三种方法

 更新时间:2023年07月26日 10:31:15   作者:Good_Hope  
这篇文章主要给大家介绍了关于pandas dataframe按照列名给列排序的三种方法,在进行数据分析操作时,经常需要对数据按照某行某列排序,或者按照多行多列排序,以及按照索引值排序等等,需要的朋友可以参考下

下面介绍三种方法,给dataframe列排序:

1、使用sort_values()方法,并指定axis=1参数。

import pandas as pd
 
# 创建一个示例DataFrame
data = {'A': [3, 1, 4],
        'C': [2, 6, 5],
        'B': [9, 8, 7]}
df = pd.DataFrame(data)
 
# 按照列名给列排序
df = df.sort_values(by=df.columns, axis=1)
 
print(df)

输出结果:

   A  B  C
0  3  9  2
1  1  8  6
2  4  7  5

在上述代码中,我们首先创建了一个示例DataFrame。然后,我们使用sort_values()方法对DataFrame的列进行排序。通过指定by=df.columns,我们将按照列名的字母顺序对列进行排序。最后,通过设置axis=1参数,我们指定按列进行排序。

执行上述代码后,DataFrame的列将按照列名的字母顺序进行排序。

请注意,sort_values()方法会生成一个新的DataFrame,因此我们将排序后的结果重新赋值给df,以便在打印时显示排序后的结果。如果你想在原始DataFrame上进行排序,可以使用inplace=True参数。

2、使用reindex()方法,并传递一个包含所需顺序的列名列表。

import pandas as pd
 
# 创建一个示例DataFrame
data = {'A': [3, 1, 4],
        'B': [2, 6, 5],
        'C': [9, 8, 7]}
df = pd.DataFrame(data)
 
# 按照指定顺序给列排序
order = ['B', 'C', 'A']
df = df.reindex(columns=order)
 
print(df)

输出结果:

   B  C  A
0  2  9  3
1  6  8  1
2  5  7  4

在上述代码中,我们首先创建了一个示例DataFrame。然后,我们定义了一个列表order,其中包含了按照指定顺序排列的列名。接下来,我们使用reindex()方法,并传递columns=order来重新索引DataFrame的列,以按照指定顺序进行排序。

3、如果想原地修改DataFrame的列顺序,可以使用df = df[order]的方式重新分配DataFrame给同名变量。

import pandas as pd
 
# 创建一个示例的合并 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3],
                    'B': [4, 5, 6]})
df2 = pd.DataFrame({'C': [7, 8, 9],
                    'D': [10, 11, 12]})
merged_df = pd.concat([df1, df2], axis=1)
 
# 按照指定顺序给列排序
order = ['D', 'C', 'B', 'A']
merged_df = merged_df[order]
 
print(merged_df)

输出结果:

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

在上述代码中,我们使用df[order]的方式重新分配DataFrame给同名变量merged_df,以按照指定顺序对列进行排序。这种方式将返回重新排序后的DataFrame,并将其分配给同名变量,从而实现了在原地修改列顺序的效果。

对了,上面的代码改一改,也阔以“筛选”哦,只要在order列表里删除不要的列名就行。

附:按多列排序

df.sort_values(["column_name1", "column_name2"] , inplace=True, ascending=True)

总结

到此这篇关于pandas dataframe按照列名给列排序三种方法的文章就介绍到这了,更多相关pandas dataframe按列名排序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • caffe的python接口生成配置文件学习

    caffe的python接口生成配置文件学习

    这篇文章主要介绍了caffe的python接口生成配置文件学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Django URL参数Template反向解析

    Django URL参数Template反向解析

    这篇文章主要介绍了Django URL参数Template反向解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • python如何实现华氏温度和摄氏温度转换

    python如何实现华氏温度和摄氏温度转换

    这篇文章主要介绍了python如何实现华氏温度和摄氏温度转换,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Python去除字符串中某个字符的多种实现方法

    Python去除字符串中某个字符的多种实现方法

    这篇文章主要介绍了Python去除字符串中某个字符的多种实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • python实现公司年会抽奖程序

    python实现公司年会抽奖程序

    这篇文章主要为大家详细介绍了python实现公司年会抽奖程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Python 多线程,threading模块,创建子线程的两种方式示例

    Python 多线程,threading模块,创建子线程的两种方式示例

    这篇文章主要介绍了Python 多线程,threading模块,创建子线程的两种方式,结合实例形式分析了Python线程的原理与创建子线程的相关实现技巧,需要的朋友可以参考下
    2019-09-09
  • 爬虫训练前端基础Bootstrap5排版表格图像

    爬虫训练前端基础Bootstrap5排版表格图像

    这篇文章主要为大家介绍了爬虫训练前端基础Bootstrap5排版表格图像,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Python3使用win32com从Excel读取数据生成Word格式报告批量发邮件的示例详解

    Python3使用win32com从Excel读取数据生成Word格式报告批量发邮件的示例详解

    win32com 是 Python 在 Windows 平台上一种用于访问 COM(Component Object Model) 对象的库/模块,它隶属于第三方扩展包 pywin32,本文给大家介绍了Python3使用win32com从Excel读取数据生成Word格式报告批量发邮件的示例,需要的朋友可以参考下
    2025-12-12
  • 浅谈python出错时traceback的解读

    浅谈python出错时traceback的解读

    这篇文章主要介绍了浅谈python出错时traceback的解读,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Python使用微信接入图灵机器人过程解析

    Python使用微信接入图灵机器人过程解析

    这篇文章主要介绍了Python使用微信接入图灵机器人过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11

最新评论