主页 > 知识库 > pandas 颠倒列顺序的两种解决方案

pandas 颠倒列顺序的两种解决方案

热门标签:语音系统 呼叫中心市场需求 客户服务 企业做大做强 电话运营中心 百度AI接口 Win7旗舰版 硅谷的囚徒呼叫中心

在数据预处理过程中可能需要将列的顺序颠倒,有两种方法。

import numpy as np
import pandas as pd
df = pd.DataFrame(np.array(range(20)).reshape(4,5))
print(df)

原始dataframe如下:

  0  1  2  3  4
0  0  1  2  3  4
1  5  6  7  8  9
2 10 11 12 13 14
3 15 16 17 18 19

1. 方法一

手动设置列名列表,应用在dataframe中(适合列名比较少的情况)

我们可以手动来更换列的顺序

cols = [4,3,2,1,0]
df = df.ix[:,cols]
print(df)

输出如下:

  4  3  2  1  0
0  4  3  2  1  0
1  9  8  7  6  5
2 14 13 12 11 10
3 19 18 17 16 15

2. 方法二

pandas提供颠倒列顺序的方式

可以看出当数据的列较多时,方法一会非常繁琐,pandas提供一种非常简便的方式来进行列顺序的颠倒。

df = df.ix[:, ::-1]
print(df)

输出如下:

  4  3  2  1  0
0  4  3  2  1  0
1  9  8  7  6  5
2 14 13 12 11 10
3 19 18 17 16 15

补充:Python列表排序与倒序

python学习笔记

列表排序

1、sort()

2、sorted()

3、reverse()

sort()的使用

letters = ['d','a','e','c','b']
print letters
['d','a','e','c','b']
letters.sort()
print letters
['a','b','c','d','e']

sort()会自动按照字母顺序对字符串由小到大排序,如果数字就由小到大

注:sort()会修改原来的列表他是修改列表,而不是创建新的列表。

不应该

print letters.sort()

而应该

letters.sort()
print letters

还可以用.sorted()函数

# 得到一个有序的副本列表
#而不影响原来列表的顺序
old = ['d','a','e','c','b']
new = sorted(old)
print old
['d','a','e','c','b']
print new
['a','b','c','d','e']

reverse的使用

# 方法1 作为reverse()函数
letters = ['d','a','e','c','b']
letters.sort()
print letters
['a','b','c','d','e']
letters.reverse()
print letters
['e','d','c','b','a']
# 方法2 作为sort()函数参数
letters = ['d','a','e','c','b']
letter.sort(reverse = Ture)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

您可能感兴趣的文章:
  • Python基础之pandas数据合并
  • python-pandas创建Series数据类型的操作
  • Python数据分析之pandas函数详解
  • python基于Pandas读写MySQL数据库
  • pandas读取excel时获取读取进度的实现
  • pandas中.loc和.iloc以及.at和.iat的区别说明
  • 浅谈Pandas dataframe数据处理方法的速度比较
  • 解决使用pandas聚类时的小坑
  • pandas 使用merge实现百倍加速的操作
  • 详细介绍在pandas中创建category类型数据的几种方法
  • python中pandas.read_csv()函数的深入讲解
  • pandas调整列的顺序以及添加列的实现
  • pandas快速处理Excel,替换Nan,转字典的操作
  • Python基础之教你怎么在M1系统上使用pandas

标签:喀什 山西 海南 长沙 济南 安康 崇左 山西

巨人网络通讯声明:本文标题《pandas 颠倒列顺序的两种解决方案》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266