티스토리 뷰
#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로 대각선으로 마주보는 값(같은 값)을 제외하고 볼 수 있다.
#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로 기존의 인덱스 번호를 유지할 수 있다.
-데이터 전처리에 유용하게 사용될 수 있는 코드니 기억해두자.
-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
-오늘은 생김새만 구분해보겠다.
-catplot에 대해 더 알아보기.
'TIL & WIL > Python' 카테고리의 다른 글
8주차 수요일 TIL(1). 데이터전처리 / crosstab, pivot_table, groupby (0) | 2023.02.08 |
---|---|
8주차 화요일 TIL. sns.heatmap / melt / 정규표현식 (0) | 2023.02.07 |
7주차 WIL. matplotlib의 기본 (0) | 2023.02.02 |
7주차 화요일 TIL. plot() / crosstab() / loc[] / str.contains / isin / pivot_table / groupby / merge (0) | 2023.01.31 |
7주차 월요일 TIL. 시각화 해보기 (0) | 2023.01.30 |