개발 꿀팁/PYTHON

파이썬 데이터 분석 - 데이터 정렬

Jammie 2022. 11. 23. 11:04
반응형

대량의 데이터를 분석하는 과정에서 데이터의 정렬 작업이 필요할 수 있습니다.이 기사에서는 파이썬(on中对本文)에서 데이터 상자를 정렬하는 방법을 알려드립니다.참고: 이 문서에서 사용하는 데이터 상자 date_frame:

        ID                    name                          gende                       age                            height

10000001                 노일판                          남자                        17                               1.78

10000002                 도니나                          여자                        18                                1.68

10000003                저우잉후이                    여자                        20                                1.62

10000004               깃발을 찡그리다             여자                        19                                1.73

10000005                장쩌쿤                            남자                        18                                175

10000006                이가민                            여자                        16                                160

10000007                링쯔저우                        남자                        17                                 1.82       

10000008                   조준기                           남자                       18                                  180 

 

 

1 sort_values 함수의 사용법을 정리하다
  

  python에서는 기본적으로 줄 인덱스 번호별로 정렬되며, 데이터 상자의 정렬을 사용자 정의하려면 sort_values 함수를 사용하여 정렬을 재정의할 수 있습니다.다음은 sort_values에서 일반적으로 사용되는 몇 가지 매개변수에 대해 설명하며 구체적인 문법은 다음과 같습니다.

sort_values(by=[리스트], ascending=[True or False], axis=(1 or 0))
  
  이 중 by 뒤에는 정렬할 열이 있으며, 한 열일 수도 있고 여러 열일 수도 있습니다.먼저 첫 번째 열로 정렬한 다음 다음 다음 열로 정렬함을 나타냅니다.ascending=True는 오름차순으로 정렬됨을 나타내며, 그렇지 않으면 내림차순으로 정렬되고 기본적으로 오름차순으로 정렬됩니다.axis=1은 열 정렬, 0은 행 정렬, 기본 행 정렬을 나타냅니다.
  
  

2 나이순으로 줄을 오름차다
  
데이터 상자를 나이 오름차순으로 정렬하려면 python에 다음과 같이 입력합니다、

date_frame.sort_values(by = ['age'])

얻어진 결과는 다음과 같다

                    ID                    name                          gende                       age                            height

5          10000006                이가민                            여자                        16                               160

0          10000001                 노일판                          남자                        17                                1.78

6          10000007                링쯔저우                        남자                        17                                1.82     

1          10000002                 도니나                          여자                        18                                1.68

4          10000005                장쩌쿤                            남자                        18                                175

7          10000008                   조준기                          남자                       18                                180 

3          10000004               깃발을 찡그리다             여자                         19                                1.73

2          10000003                저우잉후이                    여자                        20                                1.62

 

여기서 by=['age']는 연령별 순위를 나타내며 기본적으로 오름차순이므로 ascending 값을 지정할 필요가 없습니다

 

3 나이에 따라 줄을 내림차순으로 배열한다.
  
데이터 상자를 연령순으로 정렬하려면 python에 다음과 같이 입력합니다

date_frame.sort_values(by = ['age'], ascending = False)

얻어진 결과는 다음과 같다

                      ID                    name                          gende                       age                            height

2          10000003                저우잉후이                    여자                        20                             1.62

3          10000004               깃발을 찡그리다             여자                         19                             1.73

1          10000002                 도니나                          여자                        18                               1.68

4          10000005                장쩌쿤                            남자                        18                                175

7          10000008                   조준기                          남자                       18                                180 

0          10000001                 노일판                          남자                        17                                1.78

6          10000007                링쯔저우                        남자                        17                                1.82     

5          10000006                이가민                            여자                        16                               160

 

 

4 나이 오름차순 키 내림차순으로 데이터 상자 배열
  
데이터 상자를 나이 오름차순 키 내림차순으로 정렬하려면 python에 다음과 같이 입력합니다

date_frame.sort_values(by = ['age','height'], ascending = [True,False])

얻어진 결과는 다음과 같다

                     ID                    name                          gende                       age                            height

5          10000006                이가민                            여자                        16                               160

6          10000007                링쯔저우                        남자                        17                                1.82    

0          10000001                 노일판                          남자                        17                                1.78

4          10000005                장쩌쿤                            남자                        18                                175

7          10000008                   조준기                          남자                       18                                180 

1          10000002                 도니나                          여자                        18                               1.68

3          10000004               깃발을 찡그리다             여자                         19                             1.73

2          10000003                저우잉후이                    여자                        20                             1.62

 

scending에서 첫 번째 True는 먼저 나이를 오름차순으로 나열하고 두 번째 False는 나이가 같으면 키에 따라 내림차순으로 정렬함을 나타냅니다.
  
  

5 열을 정렬하기
  
열을 정렬하는 첫 번째 방법은 열을 정렬하는 순서를 재정의하는 것입니다.열의 순서를 학번, 이름, 나이, 키, 성별 순으로 매긴다고 가정하면 python에 다음과 같은 문구를 입력할 수 있습니다

date_frame[['ID','name','age','height','gender']]

얻어진 결과는 다음과 같다.

                        D                    name                          gende                       age                            height

0          10000001                 노일판                          남자                        17                                1.78

1          10000002                 도니나                          여자                        18                               1.68

2          10000003                저우잉후이                    여자                        20                             1.62

3          10000004               깃발을 찡그리다             여자                         19                             1.73

4          10000005                장쩌쿤                            남자                        18                                175

5          10000006                이가민                            여자                        16                               160

6          10000007                링쯔저우                        남자                        17                                1.82    

7          10000008                   조준기                          남자                       18                                180 

 

두 번째 방법은 axis=1을 사용하여 열을 정렬하는 것이지만, 이 정렬에는 비교할 수 있는 동일한 행의 값이 필요합니다.내가 원본 데이터 상자에서 age와 height 열을 추출한다고 가정하자. 구체적인 문구는 다음과 같다

date_frame[['age','height']]

얻어진 결과는 다음과 같다

이 두 열을 세 번째 행의 값에 따라 정렬합니다. 구체적인 문구는 다음과 같습니다

date_frame[['age','height']].sort_values(by = [3], axis=1)

얻어진 결과는 다음과 같다

ascending 매개변수가 지정되지 않고 기본적으로 오름차순이기 때문에 정렬 후 height 열은 age 열보다 앞에 있습니다.이로써 파이썬에서 데이터 박스를 정렬하는 작업이 소개되었으므로 여러분은 데이터 박스를 다른 방식으로 조작할 수 있는지 여부를 결정하기 위해 연습할 수 있습니다

 

반응형