본문 바로가기

Python59

[Kaggle 데이터 활용] 여러 개의 그래프 한번에 그리기(2) 기초 여러 개의 그래프 한번에 그리기 plotly.subplots 를 사용하여 다음과 같이 2개 이상의 그래프를 한번에 그릴 수 있다 from plotly.subplots import make_subplots import plotly.graph_objects as go x1 = [1, 2, 3] x2 = [4, 5, 6] y1 = [10, 20, 30] y2 = [50, 60, 70] fig = make_subplots(rows = 1, cols = 2 , subplot_titles=("Plot 1", "Plot 2") , column_widths = [0.7, 0.3]) #size control fig.add_trace( go.Scatter(x = x1, y = y1) ,row = 1, col = 1 ) f.. 2023. 8. 10.
[Plotly] Kaggle Survey Data 시각화 기초 Kaggle Survey Data 시각화 0. 데이터 가져오기 import pandas as pd df = pd.read_csv('./data/kaggle/kaggle_survey_2021/kaggle_survey_2021_responses.csv') df.head() 1. 원하는 데이터 추출 #질문데이터 한 줄만 따로 뽑기 questions = df.iloc[0, :].T #나머지 데이터(인덱스 1번 이후)정리 df = df.iloc[1:, :].reset_index(drop=True) #1번 설문문항의 답을 따로 시리즈로 뽑아내기 q1_df = df['Q1'].value_counts() #1번 질문이 뭐였는지 간단히 확인 questions.Q1 >>'What is your age (# years)?'.. 2023. 8. 10.
[Kaggle 활용] 인도/미국 연봉 비율 비교 EDA 총정리 예제 데이터 분석 과정 요약 1. 시각화 대충 그려보기(간단히 plotly.express 이용) 👉 특이점 발견 (인도, 미국이 높네) 2. 분석 기획 하기 👉 두 나라의 연봉을 비교해볼까? 3. 연봉 값이 너무 다양하니, 연봉을 구간으로 나눠야겠다 👉 구간 기준을 세워 4-5개 정도로 나누자 4. 구간화 코드 작성 5. 인도, 미국 각각 groupby 연산을 통해 연봉 구간별로 분포 파악 6. 각 연봉 구간 별로 비율 파악 7. 그래프를 그려 비교 (상세한 시각화는 plotly.graph_objects 사용) 1. pd.read_csv() 로 데이터 다운 import pandas as pd df = pd.read_csv('./data/kaggle/kaggle_survey_2021/kaggle_survey_2.. 2023. 8. 10.
[Plotly] 그래프 수정가능한 옵션 보기 Plotly 그래프의 다양한 수정 옵션 보는 법 그래프를 그리고 나서, 다음 명령어를 입력하면 그래프를 수정할 수 있는 다양한 옵션 값과, 그래프에 대한 상세 구조를 볼 수 있다 특히 data나 Layout의 하위항목을 확인하며 섬세하게 그래프를 수정가능하다. fig = go.Figure() fig.show('json') 2023. 8. 10.
[Plotly] 시작하기 : 막대그래프 예제 Plotly 시작하기 plotly 라이브러리를 사용하는 방법을 간단히 두 가지로 나눌 수 있다. 간단하게 그리고 싶을 때와, 디테일하게 옵션값을 변경하며 그래프를 손보고 싶을 때 아래 두 방법 중 하나를 경우에 따라 택한다 처음 다루며 사용할 때는 plotly.express를 추천한다 import plotly.express as px #seaborn 라이브러리와 비슷(간단하게 빠르게 그릴 경우, 추가 옵션 없이) import plotly.graph_objects as go #matplotlib 라이브러리와 비슷(디테일하게 다룰 경우) plotly.express 예제 1. 데이터 간단하게 만들기 temp = pd.DataFrame({ "Fruit": ["Apples", "Oranges", "Bananas".. 2023. 8. 10.
[pandas] pd.qcut() 과 pd.crosstab() pd.qcut()란 pd.qcut()은 pandas 라이브러리에서 제공하는 함수 연속형 데이터를 동일한 구간 또는 분위수로 나누는데 사용 이를 통해 데이터를 이산적인 범주로 나눌 수 있음 q는 quantile(분위수)의 약자 즉, 데이터를 주어진 분위수로 나누는 작업 다음 예시를 보면, totvars에 해당하는 컬럼만 covidtotlaonly에 따로 저장 새로운 컬럼 'total_cases_q'를 생성하는데, 이때 qcut을 사용한다 가장 먼저 나눌 데이터를 표시해준다 labels : 나눈 구간을 표현할 때 사용할 라벨 q : 나눌 구간의 개수나 분위수의 리스트 [참고] precision은 소수점 이하 자릿수를 나타내는 매개변수 (여기서는 0 이므로 정수형이 나옴) covidtotalsonly = co.. 2023. 8. 9.
Index Alignment란? Index Alignment란? 서로 다른 두 개 이상의 데이터 구조를 합칠 때 인덱스(또는 행 이름)를 기준으로 데이터를 정렬하고 맞추는 과정 데이터 구조의 크기가 다르거나 순서가 다른 상황에서도 데이터를 일관되게 조작하고 비교할 수 있다 예를 들어, 다음과 같은 두 개의 데이터프레임이 있다고 하자. 두 데이터프레임을 더하려고 할 때, 열이름이 다르거나 크기가 달라서 연산하기 어렵다. 그런데, index alignment가 동작하면 인덱스를 기준으로 데이터가 맞춰진다. df1: A B C 0 1.0 2.0 3.0 1 4.0 5.0 6.0 df2: B C D 0 7.0 8.0 9.0 1 10.0 11.0 12.0 결과적으로 각 셀에서 해당 인덱스의 데이터가 정렬되어 연산이 된다. result = df1 .. 2023. 8. 9.
[pandas] 결측치 처리하기 결측치 처리하기 [예제] 인구통계 컬럼에서 결측치 데이터 확인 1. 데이터 불러오기 DATA_PATH = './' covidtotals = pd.read_csv(DATA_PATH + "data/covidtotalswithmissings.csv") 2. 5가지 인구 통계를 나타내는 컬럼만 따로 객체에 저장 demovars = ['population','pop_density','median_age','gdp_per_capita', 'hosp_beds'] 3. 열 별로 결측치 수 파악 기본적으로 df['컬럼명'].isnull().sum() 을 사용한다 행/열 구분은 axis 로 하는데, axis = 0 이면 열 기준, axis = 1 이면 행 기준이다 # 열 별로 결측치 수 파악 covidtotals[demo.. 2023. 8. 9.
[pandas] 날짜 데이터 다루기 to_datetime 사용법 : pd.to_datetime(df) 문자열에 적용하면 timestamp 유형이 됨 리스트에 적용하면 datetime64 유형이 됨 #문자열에 to_datetime => timestamp date_string = "2023-03-02" print(type(date_string)) datetime_obj = pd.to_datetime(date_string) print(datetime_obj) print(type(datetime_obj)) #리스트에 to_datetime => datetime64 date_list = ["2023-03-02"] print(type(date_list)) datetime_obj = pd.to_datetime(date_list) print(datetim.. 2023. 8. 9.
728x90