실습파일을 깃허브에 올려두었다.
https://github.com/CNU-Jiho-Jeong/jjh98.git
1. sort_index()
: 인덱스를 기준으로 데이터를 정렬함.
: 기본 정렬 방식은 오름차순
: ascending=False를 인자로 넣어주면 내림차순 정렬도 가능함
-> 데이터프레임이름.sort_index(ascending=False)
2. sort_values()
: 열(column)의 값을 기준으로 데이터를 정렬
: 기본 정렬 방식은 오름차순
: 데이터프레임이름.sort_values(by="정렬 기준이 되는 열 이름", ascending=False)
(기본 정렬 방식은 오름차순이지만, ascending=False를 통해 내림차순도 가능)
: 과제에서 쓰인 sort_values()
stats[["Name", "Total"]].sort_values(by = "Total", ascending = False)
1. dropna()
1. pd.merge()
두 데이터프레임을 합쳐준다.
기준열 이름이 같을 때
: pd.merge(왼쪽 데이터프레임, 오른쪽 데이터프레임, on = "기준열", how = "조인방식")
기준열 이름이 다를 때
: pd.merge(왼쪽 데이터프레임, 오른쪽 데이터프레임, left_on = "왼쪽 데이터프레임 기준열", right_on = "오른쪽 데이터프레임 기준열", how = "조인방식")
how = Join 방식
Left Join ("left") : 왼쪽 데이터프레임을 기준으로 조인한다. 오른쪽 데이터프레임에 없는 값은 NaN으로 나타난다. pd.merge(left, right, on = 'col', how = 'left')
Right Join("right"): 오른쪽 데이터프레임을 기준으로 조인한다. 왼쪽 데이터프레임에 없는 값은 NaN으로 나타난다. pd.merge(left, right, on = 'col', how = 'right')
Inner Join("inner"): 교집합을 의미한다. 양쪽에 공통으로 있는 값만 나타난다. pd.merge(left, right, on = 'col', how = 'inner')
Outer Join("outer"): 모든 값이 나타나도록 한다. 왼쪽 데이터프레임과 오른쪽 데이터프레임에 없는 값들은 NaN으로 나타난다. pd.merge(left, right, on = 'col', how = 'outer')
abengers 문제에서 쓰인 예시
: avengers = pd.merge(stats,info,on = "Name", how = 'outer')
1. set_index()
set_index(keys=[k1,k2,....], inplace=True/False, drop=True/False)
keys=[k1,k2,....] : 인덱스로 설정할 list 형태의 데이터. 인덱스는 보통 1줄이지만 2줄 3줄 또는 그 이상이 될 수도 있음(다중 index가 가능). k1을 인덱스 한 줄이라고 보면 됨.
inplace=True/False :
True --> set_index가 적용된 DataFrame 자체를 변경
False --> set_index가 적용된 DataFrame은 원본 그대로 두고 다른 변수에 set_index가 적용된 DataFrame을 할당 (False가 default 값.)
drop=True/False :
True --> set_index의 key에 사용된 column을 index로 옮기고 column에서 삭제
False --> set_index의 key에 사용된 column을 index로 옮기고 column에서도 유지
(True가 default 값.)
abengers 문제에서 쓰인 예시
: list1 = list1.set_index(list1[0],drop=True) -> 0번째 열을 인덱스로 옮기고 열에서 삭제
df.set_index("열 이름") : 특정 열 1개를 인덱스로 지정
df.set_index(["열 이름 1", "열 이름 2"]) : 열 두 개 이상 멀티 인덱스 지정. 원하는 열들을 리스트 내에 순서대로 넣어야 함.
1. unique()
2. nunique()
3. value_counts()
참고 사이트들
https://hogni.tistory.com/6
https://jaaamj.tistory.com/112
https://mizykk.tistory.com/82
https://wikidocs.net/136562
https://jimmy-ai.tistory.com/155
https://cosmosproject.tistory.com/337
https://velog.io/@changhtun1/%EA%B8%B0%EC%B4%88%EB%B6%80%ED%84%B0-%EC%8C%93%EC%95%84%EA%B0%80%EB%8A%94-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-2 (판다스 라이브러리 참고하기 좋은 벨로그 사이트)