pandas 역렬 순서의 두 가지 해결 방안

데이터의 사전 처리 과정에서 열의 순서를 뒤집어야 할 수도 있는데 두 가지 방법이 있다.

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. 방법 1


수동으로 열 이름 목록을 설정하여 데이터 프레임에 적용합니다 (열 이름이 비교적 적은 경우에 적합합니다)
우리는 수동으로 열의 순서를 바꿀 수 있다

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. 방법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)
이상의 개인적인 경험으로 여러분께 참고가 되었으면 좋겠습니다. 또한 많은 응원 부탁드립니다.만약 잘못이 있거나 완전한 부분을 고려하지 않으신다면 아낌없이 가르침을 주시기 바랍니다.

좋은 웹페이지 즐겨찾기