在數(shù)據(jù)預處理過程中可能需要將列的順序顛倒,有兩種方法。
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提供顛倒列順序的方式
可以看出當數(shù)據(jù)的列較多時,方法一會非常繁瑣,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()會自動按照字母順序對字符串由小到大排序,如果數(shù)字就由小到大
注:sort()會修改原來的列表他是修改列表,而不是創(chuàng)建新的列表。
不應該
而應該
letters.sort()
print letters
還可以用.sorted()函數(shù)
# 得到一個有序的副本列表
#而不影響原來列表的順序
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()函數(shù)
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()函數(shù)參數(shù)
letters = ['d','a','e','c','b']
letter.sort(reverse = Ture)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- Python基礎之pandas數(shù)據(jù)合并
- python-pandas創(chuàng)建Series數(shù)據(jù)類型的操作
- Python數(shù)據(jù)分析之pandas函數(shù)詳解
- python基于Pandas讀寫MySQL數(shù)據(jù)庫
- pandas讀取excel時獲取讀取進度的實現(xiàn)
- pandas中.loc和.iloc以及.at和.iat的區(qū)別說明
- 淺談Pandas dataframe數(shù)據(jù)處理方法的速度比較
- 解決使用pandas聚類時的小坑
- pandas 使用merge實現(xiàn)百倍加速的操作
- 詳細介紹在pandas中創(chuàng)建category類型數(shù)據(jù)的幾種方法
- python中pandas.read_csv()函數(shù)的深入講解
- pandas調整列的順序以及添加列的實現(xiàn)
- pandas快速處理Excel,替換Nan,轉字典的操作
- Python基礎之教你怎么在M1系統(tǒng)上使用pandas