머신러닝

본문 바로가기
사이트 내 전체검색


머신러닝
머신러닝

7. 정렬과 순위

페이지 정보

작성자 관리자 댓글 0건 조회 2,003회 작성일 20-02-18 19:12

본문

7. 정렬과 순위

행의 색인이나, 열의 색인 순으로 정렬하는 등의 기준이 필요


실습1.


# -*- coding: utf-8 -*-

import pandas as pd
from pandas import Series, DataFrame
import numpy as np

df = DataFrame(np.random.randn(4,3), columns=list('bde'),
 index=['seoul', 'pusan', 'daegu', 'incheon'])
print(df)
format = lambda x: '%.2f' % x

print(df['e'].map(format))

s1 = df['e'].map(format)

print(s1.sort_index())


결과.


1.PNG



실습2.


# -*- coding: utf-8 -*-

import pandas as pd
from pandas import Series, DataFrame
import numpy as np

df2 = DataFrame(np.arange(8).reshape(2,4), index=['three','one'],
 columns=['d', 'a', 'b', 'c'])

print(df2)

print(df2.sort_index()) #로우를 기준으로 정렬

print(df2.sort_index(axis=1)) # 컬럼을 기준으로 정렬
# 데이터(색인, 값)는 기본적으로 오름차순으로 정렬이된다.
# 내림차순으로 정렬을 할 때는 ascending=False 해준다.

print(df2.sort_index(axis=1, ascending=False)) 


결과.


2.PNG



실습3.


# -*- coding: utf-8 -*-

import pandas as pd
from pandas import Series, DataFrame
import numpy as np

# 객체를 값에 따라 정렬할 경우에는 sort_values메서드를 사용한다.

obj = Series([4, 7, -3, 1])
print(obj)
print(obj.sort_values())

obj2=Series([4,np.nan, 8, np.nan, -10, 2])

print(obj2.sort_values()) #비어있는 값은 정렬시 가장 마지막에 위치한다.
 

결과.


3.PNG



실습4.


# -*- coding: utf-8 -*-

import pandas as pd
from pandas import Series, DataFrame
import numpy as np

frame = DataFrame({'b':[4,7,-5,2], 'a':[0,1,0,1]})

print(frame)

print(frame.sort_values(by='b')) #by옵션에 정렬하고자하는 컬럼명을 넣어준다.

print(frame.sort_values(by='a')) #a컬럼의 값을 기준으로 정렬

print(frame.sort_values(by=['a','b'])) #여러개의 컬럼값을 기준으로 정렬할 경우
 


결과.

4.PNG



실습5.


# -*- coding: utf-8 -*-

import pandas as pd
from pandas import Series, DataFrame
import numpy as np

# 순위 정하는 함수는 rank() 이다.

obj3 = Series([7, -2,7,4,2,0,4])
print("-----------------------")
print(obj3)

print("------------순위------------")
print(obj3.rank())
print("------데이터순서에 따라 순위가 정해짐-------")
print(obj3.rank(method='first')) #method='first'는 데이터의 순서에 따라 순위를 매기겠다

print("-------내림차순으로 순위를 정하기----------")
print(obj3.rank(ascending=False))

print("----내림차순 순서에 따라 순위 정하기----")
print(obj3.rank(ascending=False, method='first'))

print(obj3)
print("----- 내림차순 그룹지어서 순위를 매김 ---------")
print(obj3.rank(ascending=False, method='min'))  # min / max



결과.


5.PNG



#중복색인
 

실습1.


# -*- coding: utf-8 -*-

import pandas as pd
from pandas import Series, DataFrame
import numpy as np

obj = Series(range(5), index=['a','a', 'b', 'b', 'c'])

print(obj)
print("-------------------------------")
# 중복되는 색인 값이 있을 경우에는 색인을 이용한 결과로 Series객체를 반환한다.
print(obj['a'])
print("-------------------------------")

#중복되는 색인값이 없을 경우에는 색인을 이용한 결과로 스칼라 값을 반환한다. 

print(obj['c'])
print("-------------------------------")

print(obj['b']) 


 


결과.



1.PNG



실습2.


# -*- coding: utf-8 -*-

import pandas as pd
from pandas import Series, DataFrame
import numpy as np

df = DataFrame(np.random.randn(4,3), index=['a', 'a', 'b','b'])

print(df)
print("-------------------------------")

print(df.loc['b'])


결과.



2.PNG

댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.