ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 멋쟁이사자처럼 2주차 회고 (2)
    카테고리 없음 2022. 9. 22. 18:13

    2. 판다스를 이용한 데이터 프레임 이용

    1) 데이터 프레임 생성

    import pandas as pd
    import numpy as np

    df = pd.DataFrame({
        '날짜':pd.date_range(start='20220914', end = '20220922').astype('str'),
        '요일':['월','화','수','목','금','토','일','월','화'],
        '지출내역': np.random.randint(0,10000,9),
        '비고':['멋사시작',np.nan,np.nan,np.nan,'파이썬',np.nan,np.nan,'seaborn','인싸']})

    df.info()
    df.shape
    df.dtypes
    df.describe()
    print(df)

     

    결과

               날짜    요일  지출내역       비고
    0  2022-09-14  월    3037     멋사시작
    1  2022-09-15  화    7306      NaN
    2  2022-09-16  수    4281      NaN
    3  2022-09-17  목    3701      NaN
    4  2022-09-18  금    2562      파이썬
    5  2022-09-19  토     833      NaN
    6  2022-09-20  일    7695      NaN
    7  2022-09-21  월    1582  seaborn
    8  2022-09-22  화    4269       인싸

     

    데이터 프레임 생성

    데이터 프레임 행,열 확인

    데이터 프레임 칼럼 별 type확인

    데이터의 기술통계값 확인

     

    2) 원하는 데이터 확인

    print(df['칼럼']) : 해당 칼럼의 데이터 확인

    df.loc[인덱스, 칼럼]: 행, 열의 데이터 확인

    df.iloc[정수, 정수]: 정수에 해당하는 순서의 행, 열 데이터 확인

    df.sample(정수): 정수 개 만큼 데이터를 샘플링

    df.sample(frac=전체 데이터 중 가져올 비율, random_state= ): 데이터 중 랜덤으로 샘플 가져옴

     

    3) csv로 파일 저장, 불러오기

    csv로 파일 저장: df. to_csv("파일명", index= #인덱스 포함 여부)

    csv로 파일 불러오기: pd.read_csv("파일명")

     

    3. Seaborn을 이용한 데이터 시각화

    1) 다양한 그래프 시각화 함수

    sns.countplot(data=df, x="칼럼"): 칼럼으로 그룹화 후 빈도수를 그래프로 시각화


    sns.barplot(data=df, x="칼럼", y="칼럼"): x 칼럼으로 그룹화 후 y값 평균을 그래프로 시각화
    - 검은색 선(신뢰구간=confidence interval) 빼고 그리는 걸 추천, 시간이 오래걸림


    sns.boxplot(data=df, x='칼럼', y='칼럼'): x칼럼으로 그룹화 후 y값을 박스플롯형태로 시각화


    sns.violinplot(data=df, x="칼럼", y="칼럼"): x칼럼으로 그룹화 후 y값을 violinplot 형태로 시각화
    -히스토그램: 도수분포를 시각화, violiplot: 히스토그램의 밀도를 시각화


    sns.displot(data=df, x="칼럼", hue="칼럼" #그룹화하여 색상구분, kde=True #곡선 그래프 #violinpolt의 절반, col="칼럼" #데이터 그룹화): 밀도를 시각화


    relplot : 두 가지 변수의 관계를 나타내기 위해 주로 사용


    displot : 변수 하나 혹은 두개의 값 분포를 나타내기 위해 주로 사용


    catplot : 범주형 변수와 연속형 변수간의 관계를 나타내기 위해 주로 사용


    sns.scatterplot(data=df, x="x", y="y", hue="dataset"): 점으로 x와 y 그래프 시각화


    sns.regplot(data=df, x="x", y="y"): scatterplot에 회귀선 추가


    sns.lmplot(data=df, x="x", y="y", hue="dataset", col="dataset", col_wrap=2 #한줄에 표시하는 플롯 수): regplot에 서브플로을 생성(그룹화)


    boxplot vs violinplot : 분위 안에서 raw데이터 값들의 분포가 달라졌을 경우 boxplot은 변화가 없지만 violinplot은 밀도변화를 디테일하게 알 수 있다

Designed by Tistory.