일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 애자일
- analyzing
- instance
- visualizing
- Method
- angular
- DANAWA
- python
- webcrawling
- javascript
- AWS
- 크롤링
- matplotlib
- Agile
- opencv
- Project
- pandas
- data analyze
- ECS
- algorithm
- 다나와
- 자바스크립트
- adaptive life cycle
- keras
- Crawling
- tensorflow
- data
- Scrum
- 프로젝트
- TypeScript
Archives
- Today
- Total
LiJell's 성장기
11.python_pandas_sort 본문
반응형
Modified on Jan 04 2022
# -- coding: utf-8 --
"""
Created on Fri Dec 24 13:23:31 2021
@author: hanju
"""
pandas 정렬 sort()
예제파일은 다운 후 파일을 불러 올 때 경로를 잘 설정해주면 된다. 다운로드 참고
import pandas as pd
import numpy as np
from pandas import Series, DataFrame
pwd # present working directory 현 위치 폴더(디렉토리)
# C:\Users\hanju\Desktop\multicamp\data
pd.read_csv('C:/Users/hanju/Desktop/multicamp/data/emp.csv') # 절대 경로로 열기
pd.read_csv('./data/emp.csv') # 현재 경로에서 추가로 경로 설정해서 읽기
현재경로 확인하기
import os
os.getcwd() # cwd = current working directory
# 'C:\\Users\\hanju\\Desktop\\multicamp'
sort() 정렬
1. sort_index
- Series, DataFrame 호출 가능
- index, column 재배치
emp = pd.read_csv('./data/emp.csv')
emp
# empno ename deptno sal
# 0 1 smith 10 4000
# 1 2 allen 10 4500
# 2 3 ford 20 4300
# 3 4 grace 10 4200
# 4 5 scott 30 4100
# 5 6 king 20 4000
emp.ename
emp['ename'] #둘중 한가지 방법으로. 메서드 체인과 헷갈릴 수 있어서 이 방법 추천
# 0 smith
# 1 allen
# 2 ford
# 3 grace
# 4 scott
# 5 king
# Name: ename, dtype: object
# 요청 결과를 Series로 반환
emp['empno']
# 0 1
# 1 2
# 2 3
# 3 4
# 4 5
# 5 6
# Name: empno, dtype: int64
emp.idx = emp['empno']
emp.idx
emp.iloc[:,1:] # 행의 모든 것을 가져오고 열 중에서는 1 위치값부터 끝까지 반환해라
# ename deptno sal
# 0 smith 10 4000
# 1 allen 10 4500
# 2 ford 20 4300
# 3 grace 10 4200
# 4 scott 30 4100
# 5 king 20 4000
emp
# empno ename deptno sal
# 0 1 smith 10 4000
# 1 2 allen 10 4500
# 2 3 ford 20 4300
# 3 4 grace 10 4200
# 4 5 scott 30 4100
# 5 6 king 20 4000
emp.set_index('ename')
# empno deptno sal
# ename
# smith 1 10 4000
# allen 2 10 4500
# ford 3 20 4300
# grace 4 10 4200
# scott 5 30 4100
# king 6 20 4000
emp1 = emp.set_index('ename')
emp1.sort_index(ascending=False) # 내림차순
# empno deptno sal
# ename
# smith 1 10 4000
# scott 5 30 4100
# king 6 20 4000
# grace 4 10 4200
# ford 3 20 4300
# allen 2 10 4500
emp1.sort_index(ascending=True) # 오름차순
# empno deptno sal
# ename
# allen 2 10 4500
# ford 3 20 4300
# grace 4 10 4200
# king 6 20 4000
# scott 5 30 4100
# smith 1 10 4000
emp1.sort_index(descending=False) #안되네..
emp1.sort_index(axis=1) # axis =1 열을 말함
# deptno empno sal
# ename
# smith 10 1 4000
# allen 10 2 4500
# ford 20 3 4300
# grace 10 4 4200
# scott 30 5 4100
# king 20 6 4000
emp1.sort_index(axis=0) # axis =0 행을 말함
# empno deptno sal
# ename
# allen 2 10 4500
# ford 3 20 4300
# grace 4 10 4200
# king 6 20 4000
# scott 5 30 4100
# smith 1 10 4000
2. sort_values
- Series, DataFrame 호출 가능
- 본문의 값(value)으로 정렬 (Series, DataFrame 특정 칼럼 순서대로)
emp1.sort_values(by='sal')
emp1.sort_values('sal') # by 생략 가능
# empno deptno sal
# ename
# smith 1 10 4000
# king 6 20 4000
# scott 5 30 4100
# grace 4 10 4200
# ford 3 20 4300
# allen 2 10 4500
emp1.sort_values(by='sal', ascending=False)
# empno deptno sal
# ename
# allen 2 10 4500
# ford 3 20 4300
# grace 4 10 4200
# scott 5 30 4100
# smith 1 10 4000
# king 6 20 4000
부서별, 연봉 수준
emp1.sort_values(by=['deptno','sal'])
# 중요도 순 by=['a','b']는 a를 우선시하여 배열한 후 b를 배열한다는 말임
# empno deptno sal
# ename
# smith 1 10 4000
# grace 4 10 4200
# allen 2 10 4500
# king 6 20 4000
# ford 3 20 4300
# scott 5 30 4100
emp1.sort_values(by=['deptno','sal'], ascending=[True,False])
# empno deptno sal
# ename
# allen 2 10 4500
# grace 4 10 4200
# smith 1 10 4000
# ford 3 20 4300
# king 6 20 4000
# scott 5 30 4100
반응형
'Bigdata > 파이썬_Python' 카테고리의 다른 글
13.python_merge_concat_join (0) | 2022.01.06 |
---|---|
12.python_pandas_groupby (0) | 2022.01.05 |
10.python_replace_method (0) | 2022.01.03 |
09.python_pandas_arithmetic_method (0) | 2022.01.02 |
08.python_pandas_string_method (0) | 2022.01.02 |
Comments