Python 공부 기록-30

김시헌·2025년 6월 8일

데이터 분석 및 시각화하기-2

벤처기업 조사하기

import하여 pandas, plotly.express를 사용해주겠습니다.

import pandas as pd
import plotly.express as px

가져온 데이터를 data6로 이름을 지정해준뒤 화면에 나타내겠습니다.

df=pd.read_csv('data6.csv')
df


이 데이터들 중에 저는 위치한 지역이 서울이면서 업종분류가 정보처리S/W인 기업들의 수를 출력하겠습니다.

첫번째로는 원형 그래프로 시각화 해보겠습니다.

# 조건에 맞는 데이터 가져오기 서울 & 정보처리S/W
data6 = df[
    df['지역'].str.contains('서울', na=False) & 
    (df['업종분류(기보)'] == '정보처리S/W')
]

# 업종명(11차)별로 기업 수 세기
industry_counts = data6['업종명(11차)'].value_counts().reset_index()
industry_counts.columns = ['업종명', '기업수']

fig = px.pie(
    industry_counts,
    names='업종명',
    values='기업수',
    title='서울 지역 정보처리S/W 업종 분포',
    template='plotly_dark'
)

fig.show()


위에 말한 조건에 맞게 서울 지역에 위치한 벤처기업들 중 정보처리S/W가 업종인 기업들의 수를 알아볼 수 있습니다.

이번에는 원형말고 막대 그래프 형태로도 시각화 해보겠습니다.

data6 = df[
    df['지역'].str.contains('서울', na=False) &
    (df['업종분류(기보)'] == '정보처리S/W')
]

# '업종명(11차)' 컬럼 기준으로 그룹화하여 기업 수 집계
industry_counts = data6['업종명(11차)'].value_counts().reset_index()
industry_counts.columns = ['업종명', '기업수']

fig = px.bar(
    industry_counts,
    x='업종명',
    y='기업수',
    title='서울 지역 정보처리S/W 업종 분포 (막대그래프)',
    template='plotly_dark',
    text='기업수'
)
# 막대 위 텍스트 위치와 x축 라벨 회전 조정
fig.update_traces(textposition='outside')
fig.update_layout(xaxis_tickangle=-45)

fig.show()


이렇게 막대 그래프 형식으로도 나타낼 수 있습니다

추가로
상위 10개 업종만 보고 싶다면

industry_counts = industry_counts.head(10)

가나다순으로 정렬하고싶다면

industry_counts = industry_counts.sort_values(by='업종명')

이런식으로 코드를 추가하면 됩니다.

수소충전소 현황 조사하기

import하여 pandas, plotly.express를 사용해주겠습니다.

import pandas as pd
import plotly.express as px

가져온 데이터를 data7로 이름을 지정해준뒤 화면에 나타내겠습니다.

df=pd.read_csv('data7.csv')
df


이 데이터들을 가지고 2020년 이후 구축된 수소충전소 구분별 분포도를 나타내 보겠습니다.

먼저 원형 그래프로 시각화 해보겠습니다.

data7 = df[df['구축연도'] >= 2020]

# '구분'별로 충전소 개수 구기기
grouped = filtered_df['구분'].value_counts().reset_index()
grouped.columns = ['구분', '갯수']

fig = px.pie(
    grouped,
    names='구분',
    values='갯수',
    title='2020년 이후 구축된 수소충전소 구분별 분포',
    template='plotly_dark'
)

fig.show()


출력값과 같이 2020년 이후에 설치된 수소충전소의 구분별 분포도를 구했습니다.

이번엔 원형그래프가 아닌 막대 그래프로 시각화 해보겠습니다.

filtered_df = df[df['구축연도'] >= 2020]

grouped = filtered_df['구분'].value_counts().reset_index()
grouped.columns = ['구분', '갯수']

fig = px.bar(
    grouped,
    x='구분',
    y='갯수',
    title='2020년 이후 구축된 수소충전소 구분별 분포 (Bar Chart)',
    text='갯수',
    template='plotly_dark'
)

# 텍스트 위치 및 레이아웃 설정
fig.update_traces(textposition='outside')
fig.update_layout(xaxis_title='구분', yaxis_title='수소충전소 수', xaxis_tickangle=-30)

fig.show()


막대 그래프로도 보기 쉽게 나타낼 수 있습니다.

공공기관 정보시스템 운영시설 현황

import하여 pandas, plotly.express를 사용해주겠습니다.

import pandas as pd
import plotly.express as px

가져온 데이터를 data8로 이름을 지정해준뒤 화면에 나타내 보겠습니다.

df = pd.read_csv('data8.csv')
df

기관유형별 운영시설 개수 비율을 원형 그래프로 시각화 해보겠습니다.

# '기관유형1'별 개수 집계
data8 = df['기관유형1'].value_counts().reset_index()
data8.columns = ['기관유형1', '운영시설수']

fig = px.pie(
    data8,
    names='기관유형1',
    values='운영시설수',
    title='기관유형별 운영시설 수 비율',
    template='plotly_dark'
)
fig.show()

이번에는 막대 그래프로도 시각화 해보겠습니다.

data8 = df['기관유형1'].value_counts().reset_index()
data8.columns = ['기관유형1', '운영시설수']

# 막대 그래프 그리기
fig = px.bar(
    data8,
    x='기관유형1',
    y='운영시설수',
    title='기관유형별 운영시설 수',
    text='운영시설수',
    template='plotly_dark'
)
fig.update_traces(textposition='outside')
fig.show()


각 기관유형1(공공기관, 중앙행정기관, 지방교육자치단체, 지방자치단체 등)별 운영시설 수를 한눈에 비교할 수 있는 막대 그래프가 출력됩니다

이번에 조사한 데이터는 막대 그래프가 보기 더 수월한거 같습니다.

산업부문 에너지사용 및 온실가스배출량 통계 조사하기

import하여 pandas, plotly.express를 사용해주겠습니다.

import pandas as pd
import plotly.express as px

가져온 데이터를 data9로 이름을 지정해준뒤 화면에 나타내 보겠습니다.

df = pd.read_csv('data9.csv')
df

업종별 합계)의 총합을 분석하여 원형 그래프로 시각화 해보겠습니다.

# '합계' 값이 숫자형이 아닐 수 있으니, 숫자로 변환해기기
df['합계'] = pd.to_numeric(df['합계'], errors='coerce')

grouped = df.groupby('업종')['합계'].sum().reset_index()

# 0 또는 NaN 값 제외해기기
grouped = grouped[grouped['합계'] > 0]

fig = px.pie(
    grouped,
    names='업종',
    values='합계',
    title='업종 구분별 에너지 사용 합계 비율',
    template='plotly_dark'
)
fig.show()

막대 그래프로도 시각화 해보겠습니다.

df['합계'] = pd.to_numeric(df['합계'], errors='coerce')

data9 = df.groupby('업종')['합계'].sum().reset_index()
data9 = grouped[grouped['합계'] > 0]

fig = px.bar(
    data9,
    x='업종',
    y='합계',
    title='업종 구분별 에너지 사용 합계',
    text='합계',
    template='plotly_dark'
)
fig.update_traces(textposition='outside')
fig.show()


업종별 에너지 사용(또는 온실가스 배출) 합계가 막대 그래프로 시각화되어 한눈에 비교할 수 있습니다

0개의 댓글