본문 바로가기

Python_Wiki/Python_Library26

pandas: crosstab / 범주형 데이터 비교 분석 pd.crosstab(index=행, columns=열, margins=True/False, normalize=True/False)margins: 행의 합이나 열의합을 구할건지 여부normalize: 비율을 구할건지 여부#pd.crosstab(행,열)pd.crosstab(df['Sex'], df['Survived'])#.normalize#normalize = 'all': 전체 합이 100%#normalize = 'index': 행별 합이 100%#normalize = 'columns': 열별 합이 100%pd.crosstab(df['Sex'], df['Survived'], normalize='all') pd.crosstab(df['Sex'], df['Survived'], normalize='all', .. 2025. 7. 14.
pandas - 데이터 결합: join(파이썬) / merge / concat pd.merge(df1, df2, on=기준컬럼, how=결합방법)결합방법에는 'inner', 'left', 'right', 'outer'. 방식은 sql과 동일기준컬럼이 여럿이면 리스트로 on에 기준컬럼을 넣어주면 됨. #examplepd.merge(customer, orders, on='id', how='inner') 두 데이터의 기준 컬럼명이 다른 경우pd.merge(df1, df2, left_on=df1의 기준컬럼, right_on=df2의 기준컬럼, how=결합방법) 다중요건 merge값을 찾기 위한 열이 다중으로 필요할 경우df1.merge(df2, on=['업체','음료'], how='left') 병합 시, 값이 특정 범위안에 들어가는지 여부에 따라 병합할 경우(merge_asof)⭐ df1.. 2025. 7. 14.
Pandas 고급함수: apply, map 1. apply: 사용자 정의 함수를 데이터에 적용하고 싶을 때 사용.apply(커스텀 함수 이름, axis=0 or 1)#example1def pclass_sibsp(x): if x['Pclass'] == 1 and x['SibSp'] == 1: return 1 else: return 0 df1['pclass_sibsp_filter'] = df1.apply(pclass_sibsp, axis=1) #함수에서 열을 참조했기때문에 axis=1을 꼭 써줘야함#lambda사용df1['pclass_sibsp_lambda'] = df1.apply(lambda x: 1 if x['Pclass'] == 1 and x['SibSp'] == 1 else 0, axis=1)#.. 2025. 7. 14.
pandas 판다스: 날짜 다루기 1. 문자형을 날짜형으로 변경: pd.to_datetime(컬럼, format='날짜 형식')#examplespd.to_datetime(df['Date'], format='%Y-%m-%d') df['Date1'] = pd.to_datetime(df['Date'], format='%Y-%m-%d') #새로운 컬럼에 변환한 값 넣기df=pd.read_csv('url',parse_dates=['col_name']) #불러올때 'col_name'의 자료형을 바로 datetime으로 변경해서 호출하기 날짜 형식 코드의미예시%Y연도 (4자리)2025%y연도 (2자리)25%m월 (2자리)07%B월 이름 (영문, 전체)July%b월 이름 (영문, 축약)Jul%d일 (2자리)11%A요일 이름 (영문, 전체)Friday%.. 2025. 7. 11.
웹크롤링: Selenium + chrome driver # (1) 크롤링에 필요한 파이썬 라이브러리 설치!pip install webdriver-manager selenium# (2) 크롬 드라이버 자동 다운로드 => 특정 경로에 최신 버전의 크롬 드라이버가 설치됨.from webdriver_manager.chrome import ChromeDriverManagerChromeDriverManager().install()# (3) 셀레니움으로 크롬 브라우저 실행from selenium import webdriverbrowser = webdriver.Chrome()# (4) browser 이동시켜 (get) => urlbrowser.get("http://www.naver.com") #3,4는 한 셀에 넣고 실행하자코랩은 리눅스 기반이라 설치에 문제가 생길 수 .. 2025. 7. 10.
산점도 맵 scatter map 그리기 (feat. matplotlib) data는 캐글의 타이타닉 데이터를 사용함참고자료: https://blog.naver.com/breezehome50/222352652567 [파이썬 시각화] 상관관계 분석 (Correlation Plot)Correlation Plot Correlation plot은 두 변수간의 (선형적인) 상관관계를 비교하기 위해 사용되는 그래...blog.naver.com feature = ['Survived', 'Pclass', 'Age', 'SibSp', 'Parch', 'Fare','Sex_binary']corr_feature = train_data[feature].corr()fig = plt.figure(figsize=(20,20))n_feature = len(feature)for i in range(n_fea.. 2025. 6. 11.