티스토리 뷰

TIL & WIL/Python

8주차 월요일 TIL.

니츄 2023. 2. 6. 21:28

 

#1) 파일 이름을 불러오는 방법 : glob

from glob import glob

file_name = glob('*.csv')

-import 과정이 필요하고, 위와 같이 코드를 작성하면 괄호 안에 있는 조건에 알맞은 파일명을 출력해준다.

-불러올 때는 아래와 같이 불러올 수 있다.

pd.read_csv(file_name[인덱스 번호])

-이렇게 불러왔을 때의 장점은

-파일 이름이 길고 복잡할 경우 발생 가능한 오류를 방지해준다는 것이다.

 

 

 

 

 

#2) object(문자) 타입을 수치데이터로 변환하는 방법 : to_numeric()

-문자 타입으로 되어있는 숫자 데이터를 계산할 때 필요한 코드다.

import pandas as pd

example1 = ['1', '2', '3', '4']

example_num = pd.to_numeric(example1)

-데이터 프레임의 특정 컬럼의 데이터도 동일한 방법으로 변환할 수 있다.

-유용한 코드이니 꼭 기억하기 !

 

 

 

 

 

#3) replace()와 .str.replace() 구분하기

-코드를 쓰다보면 같은 코드여도 어디서는 잘 실행되고 어디서는 오류가 났다.

-그 이유는 데이터 형식에 따라 코드가 조금씩 달랐기 때문 ! 몰랐다.

-프로젝트 하며 애를 먹었던 replace.

replace() .str.replace()
-데이터 프레임에만 사용 가능
-regex=True를 해줘야 일부만 일치해도 
데이터 변경해줌.
-시리즈에만 사용가능
-일부만 일치해도 데이터 변경해줌.

-데이터프레임과 시리즈 구분도 잘 못했던 나인데.. 판다스 공부도 오늘부터 시작해야겠다.

 

 

 

 

 

#4) 컬럼지우기 : drop(columns=[])

df = df.drop(columns=['지울거', '또지울거'])

-drop 사용시 axis에 유의한다. (0은 행, 1은 열을 뜻한다.)

 

 

 

 

 

#5) seaborn 그래프 알아보기 : pairplot()

import seaborn as sns

sns.pairplot(df, hue='지역명', corner=True)

-pairplot은 여러 개의 수치형 변수를 짝을 지어 표현하기에 적합하다.

-seaborn에서 서브플롯을 그릴 때 figsize는 작동하지 않으며, 대신 height, aspect로 사이즈를 지정한다.

-hue는 시각화할 컬럼이다.

-corner=True로 대각선으로 마주보는 값(같은 값)을 제외하고 볼 수 있다.

출처: seaborn.pydata.org/

 

 

 

 

#6) 행과 열의 위치를 바꿔주는 방법 : pd.melt()

cheese = pd.DataFrame(
    {
        "first": ["John", "Mary"],
        "last": ["Doe", "Bo"],
        "height": [5.5, 6.0],
        "weight": [130, 150],
    }
)

cheese.melt(id_vars=["first", "last"])

-melt(id_vars=[])로 호출되는 컬럼만 컬럼으로 남고, 나머지 컬럼은 해당 컬럼의 데이터로 들어가게 된다.

-ignore_indext=True로 기존의 인덱스 번호를 유지할 수 있다. 

출처: pandas.pydata.org/

-데이터 전처리에 유용하게 사용될 수 있는 코드니 기억해두자.

-df.transpose()로는 전체 행과 열을 바꿔줄 수 있다.

 

 

 

 

#7) 데이터프레임 컬럼별 고유값이 몇 개씩 있는지 세는 방법 : value_counts()

df["컬럼명"].value_counts()

-컬럼 안에 있는 값별로 개수를 세어서 출력해준다.

 

 

 

 

#8) stack()과 unstack()이란?

-python 확인 필요

 

 

 

 

 

#9) pd.pivot_table() 만들기

-pivot_table의 괄호 안에 들어갈 내용 : (변수명, index='컬럼명', columns='컬럼명', values='컬럼명')

-index를 지정하지 않으면 index없이 컬럼과 데이터만 출력된다.

- fill_value=0 으로 NaN의 값을 0으로 처리할 수 있다.

-margins=True 옵션으로 pivot_table의 오른쪽 끝과 맨 아래에 총계와 같은 산식을 넣을 수 있다.

-pivot_table이름.query("컬럼명 == ['내용1', '내용2']")로 피벗테이블을 필터링할 수 있다.

 

 

 

 

 

#10) seaborn 그래프 구분하기

-barplot, pointplot, boxplot, violinplot, swarmplot, catplot

-오늘은 생김새만 구분해보겠다.

barplot과 pointplot  (출처: seaborn.pydata.org/)
boxplot과 violinplot (출처: seaborn.pydata.org/)
swarmplot과 catplot (출처: seaborn)

-catplot에 대해 더 알아보기.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
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 29 30 31
글 보관함