본문 바로가기

Python90

피처스케일링 - 표준화(Standard), 정규화(MinMax) 피처스케일링이란 서로 다른 피처값의 범위(각각의 최대값, 각각의 최소값)등을 일치하도록 조정하는 작업이다 값의 범위가 데이터마다 다르면 인간조차도 해석이 쉽지 않은데 컴퓨터 또한 의미를 알지 못하기 때문에 하는것이 이롭고 해야만 한다 피처스케일링은 표준화와 정규화로 나뉘게 되는데 일반적으로 정규화가 더 많이 쓰인다 표준화 - Standardisation 공식은 어차피 컴퓨터가 알아서 할테니 자세히 알것까진 없고 표준편차와 평균을 중심으로 하는 스케일링 기법 이라는것까지만 알자 평균을 0으로 놓고 결과 분포에 따라 단위 표준편차를 사용한다 정규화 - Normalisation 마찬가지로 공식을 외울 필요는 없고 최소값과,최대값을 이용하여 0과 1 사이의 범위로 재조정시키는 스케일링 기법 이라는 정도만 기억하.. 2024. 4. 11.
Pandas - 중복된 값들 합산 .pivot_table( ) 여러 데이터들이 있을때 중복된 데이터들을 합쳐야 할때가 있다 이러한 데이터가 있을때 같은 이름으로 묶으면서 Quantity와 Price는 병합하는 기능을 사용하자 pd.pivot_table(df_test, index= ['Name'], values = ['Quantity','Price' ] ) 기본형은 pivot_table( )에 기본이 되는 데이터프레임, 인덱스= [인덱스에 들어갈 콜럼 = 중복인것을 하나로 만들 콜럼] 밸류스= [합쳐지는 콜럼들] (하나라면 [ ] 는 빼도 좋다) 별 다른 파라미터를 추가로 입력하지 않는다면 합쳐진 데이터들은 평균값으로 나오게 된다 하지만 평균이 아니라 합한 값을 원할때에는 pd.pivot_table(df_test, index= ['Name'], values = ['Q.. 2024. 4. 11.
Google API - geocode 주소 가져오기 이렇게 적혀있는 데이터들을 구글api를 이용하여 주소를 찾아 구 별로 나누어주는 작업을 해보자 우선 검색에 용이하도록 관서명의 데이터에서 왼쪽에는 서울, 오른쪽에는 서 대신 경찰서를 붙이는 작업 df['관서명'] = '서울 ' + df['관서명'] df['관서명'] = df['관서명'].str[ 0 : -1] df['관서명'] = df['관서명'] + ' 경찰서' 이렇게 서울을 추가하고 서를 지우고 경찰서를 추가해도 좋지만 df['관서명'] = df['관서명'].str[ 0 : -1] 서울 + df['관서명'] + 경찰서 2줄로 끊으면 더욱 깔끔하겠다 pip install googlemaps 우선은 구글맵스 설치를 하고 import googlemaps gmaps_key = " " # 자신의 key를 사용.. 2024. 4. 11.
Pandas - column 변경 .rename( ) .columns= 콜럼 하나만 변경 할 때 .rename(columns={'Before':'After'}) .rename(columns={'Before':'After'}) rename( )입력, 파라미터 안에 column = { } 입력 {딕셔너리} 안에 'before' : 'after' 로 변환할 콜럼의 이름(바꾸기 전 이름)과 변환될 콜럼의 이름(바꾸는 이름) 을 입력 이후 inplace=True를 통해 저장 CCTV_Seoul.rename(columns={'기관명':'구별'}, inplace=True) 전체를 변경 할때 .columns = ['바', '꿀', '이', '름'] pop_Seoul.columns = [ '구별', '인구수', '한국인', '외국인', '고령자'] 전체를 변경할때에는 .columns = [.. 2024. 4. 11.
Matplotlib - Pie 차트(원 형 그래프) .autopct startangle wedgeprops = { 'width' : } 보통 데이터를 퍼센테이지로 시각화 하는경우 많이 사용 (ex: 대통령 선거 득표율) 포켓몬 세대별 포켓몬 객체수를 pie차트를 이용하여 나타내보자 df['generation_id'].value_counts() generation_id 5 156 1 151 3 135 4 107 2 100 7 86 6 72 Name: count, dtype: int64 df2 = df['generation_id'].value_counts() plt.pie(df2) plt.show() 우선은 원하는 데이터프레임을 가공하여 저장하고 기본형인 .pie( )로 파라미터 안에 넣어 불러내자 나오긴 나왔는데 도대체 무슨 데이터인지 무엇을 나타내는지 알 수가 없다 가공을 시작 하자 plt.pie(df2, labels= df2.index.. 2024. 4. 9.
Matplotlib - 상관관계 .scatter( ) .corr( ) .regplot( ) .pairplot( ) 두 컬럼간의 관계를 차트로 나타내는 법 관계란? 보통 3가지 비례관계, 반비례관계, 아무 관계 없음 = 상관관계 두 컬럼간의 관계 => 배기량(displ)과 연비(comb)의 관계를 그래프로 확인 plt.scatter(data=df, x='displ', y='comb') plt.show() .scatter( )의 기본형태를 불러오자 data = 읽어올 데이터프레임, x축, y축을 설정해주면 이런 모양이 나오는데 좀 부족하다 plt.scatter(data=df, x='displ', y='comb') plt.title('Displ vs Comb') plt.xlabel('Displacement') plt.ylabel('Combined Fuel Eff (mpg)') plt.show() title( )로 그래프의.. 2024. 4. 9.