pandas 2일차, Series에 대해 배웠다.
pandas 하면 Dataframe을 주로 접했기에 Series를 접할일이 크게 없었다.
numpy array나 Series로 반환되는게 있을때면 to_list 사용한 후 list로 작업하거나 다시 DataFrame으로 만들어서 작업했었다.
그래서인지 오늘 강의 내용에서 신선한 충격을 준 것들이 몇가지 있었다.
오늘 내가 새롭게 배운것들을 가볍게 정리해 보겠다.
강의 중 실습하는 과정이 있었는데 그중에서 막혔던, 새로운 방법들이 있었던것을 간추렸다.
df = pd.read_csv("TopRichestInWorld.csv", usecols=["Age"]).squeeze()
df.index = pd.read_csv("TopRichestInWorld.csv", usecols=["Name"]).squeeze()
처음 위의 문제를 풀기 위해 아래와 같은 방법으로 따로 추출해서 index 지정을 아주 번거롭게 해주었다.
df = pd.read_csv("TopRichestInWorld.csv", usecols=["Age", "Name"], index_col='Name').squeeze()
index_col 부분 인자를 usecols에서 사용된 것들중에서만 사용할 수 있다는것을 너무나도 늦게 알았다.
그리고 DataFrame을 Series로 반환해주는 squeeze() 메소드도 오늘 처음 역할을 알았다.
df.index[df.min()], df.min()
df.min().index()
df.index(df.min())
이런식으로 뭐 말도안되는 방법까지 시도해 봤다.
min()으로 values의 최소값을 찾는건 성공했지만 그 값으로 index를 찾는 방법이 떠오르지 않았다.
df.idxmin()
답은 idxmin()이라는 메소드를 사용하는 것이었다...
절대 잊어버리지 못할 것 같다.
엄~청나게 돌아가다가 메소드 하나로 되는걸 보고 큰 충격을 받았다.
df.value_counts(bins = 5, normalize=True,ascending=False )
value_counts와 bins를 사용하면 구간을 나누어 계산해준다. 퍼센테이지가 아닌 정수로 보려면 Nomalize=False를 주면 된다.
유용한 기능이라고 생각된다. describe로 표준편차, 평균, 최소 최대, 백분위 구간을 확인해볼수도 있지만 전체적인 분포를 확인해보고 싶을 때 사용하면 진짜 좋은 기능같다.
'프로그래머스 > 데이터분석 데브코스' 카테고리의 다른 글
프로그래머스 데이터분석 데브코스 8-1 (0) | 2024.04.01 |
---|---|
프로그래머스 데이터분석 데브코스 7-5 (0) | 2024.03.29 |
프로그래머스 데이터분석 데브코스 7-1 (0) | 2024.03.25 |
프로그래머스 데이터분석 데브코스 6-5 (0) | 2024.03.22 |
프로그래머스 데이터분석 데브코스 6-3 (0) | 2024.03.22 |