2022-08-29~2022-09-01

jmยท2022๋…„ 9์›” 14์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
14/22

๐Ÿ“Œ ๊ณผ์ œ ๋ฆฌ๋ทฐ



โœ… ๊ฒฝ๊ธฐ๋„ ์ „๊ธฐ์ฐจ ์ถฉ์ „์†Œ ํ˜„ํ™ฉ ๋ถ„์„

  1. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž„ํฌํŠธ ๋ฐ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
  2. ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ
  3. ๋ฐ์ดํ„ฐ ๋ถ„์„(๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๊ธฐ)
  4. ์ง€๋„ ์‹œ๊ฐํ™”

๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ž‘์„ฑํ•ด๋ณด๊ฒ ๋‹ค.


โœ๏ธ 1. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž„ํฌํŠธ ๋ฐ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

import pandas as pd
import matplotlib.pyplot as plt
import plotly.express as px
import folium

df = pd.read_csv('/content/drive/MyDrive/แ„Œแ…ฅแ†ซแ„€แ…ฉแ†ผแ„€แ…ชแ†ซแ„…แ…งแ†ซ/แ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅ แ„Œแ…กแ„…แ…ญ/แ„Œแ…ฅแ†ซแ„€แ…ตแ„Žแ…กแ„Žแ…ฎแ†ผแ„Œแ…ฅแ†ซแ„‰แ…ฉแ„’แ…งแ†ซแ„’แ…ชแ†ผ.csv')

๋ฐ์ดํ„ฐ๋ถ„์„์„ ์œ„ํ•ด pandas ๋ถˆ๋Ÿฌ์™”๊ณ  ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•œ matplot๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ plotly, ์ง€๋„์‹œ๊ฐํ™”๋ฅผ ์œ„ํ•œ folium๊นŒ์ง€ import ์™„๋ฃŒ


โœ๏ธ 2. ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ

# 1) ์‹œ๊ตฐ๊ตฌ๋ช… ์ปฌ๋Ÿผ ์ƒ์„ฑ ๋ฐ ํ•„์š”์—†๋Š” ์ปฌ๋Ÿผ ์‚ญ์ œ
data_split = df['์†Œ์žฌ์ง€๋„๋กœ๋ช…์ฃผ์†Œ'].str.split(' ')
df['์‹œ๊ตฐ๊ตฌ๋ช…'] = data_split.str.get(2)
del df['์†Œ์žฌ์ง€์ง€๋ฒˆ์ฃผ์†Œ']
del df['์†Œ์žฌ์ง€๋„๋กœ๋ช…์ฃผ์†Œ']
del df['์†Œ์žฌ์ง€์šฐํŽธ๋ฒˆํ˜ธ']

๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฑด ์‹œ๊ตฐ๊ตฌ๋ช…์ด๊ธฐ๋•Œ๋ฌธ์— ์†Œ์žฌ์ง€๋„๋กœ๋ช…์ฃผ์†Œ ์ปฌ๋Ÿผ์—์„œ ์‹œ๊ตฐ๊ตฌ๋ช…๋งŒ split์„ ํ•œ ํ›„ ์ปฌ๋Ÿผ์„ ์ƒˆ๋กœ ์ƒ์„ฑํ–ˆ๋‹ค. ๊ทธ ํ›„ ์šฐ๋ฆฌ ๋ถ„์„์— ํ•„์š”์—†๋Š” ์ง€๋ฒˆ์ฃผ์†Œ ๋„๋กœ๋ช…์ฃผ์†Œ ์šฐํŽธ๋ฒˆํ˜ธ ์ด๋Ÿฐ ๊ฒƒ๋“ค์€ ๊ทธ๋ƒฅ ์‹น ๋‹ค ์‚ญ์ œํ–ˆ๋‹ค.

# 2) ์ปฌ๋Ÿผ ์ˆœ์„œ ์ •๋ฆฌ
df = df[['์ถฉ์ „์†Œ๋ช…','์‹œ๊ตฐ๋ช…', '์‹œ๊ตฐ๊ตฌ๋ช…', 'WGS84์œ„๋„', 'WGS84๊ฒฝ๋„', '์šด์˜๊ธฐ๊ด€๋ช…', '์ถฉ์ „๊ธฐํƒ€์ž…๋ช…']]

๊ทธ๋ฆฌ๊ณ  .. ๋‚ด๊ฐ€ ์•ฝ๊ฐ„ ๊ฐ•๋ฐ•์ฆ์ด ์žˆ์–ด์„œ ์ƒˆ๋กœ ์ƒ์„ฑํ•œ ์ปฌ๋Ÿผ์ด ๋’ค์— ๋”ฐ๋กœ ์žˆ๋Š”๊ฒŒ ์‹ซ์–ด์„œ ์ˆœ์„œ๋ฅผ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค. ์•ˆํ•ด๋„ ๋ฌธ์ œ์—†์Œ.

# 3) NaN๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ
# df.isna().sum()
df.dropna(inplace=True)
df.reset_index(drop=True, inplace=True)

NaN ๋ฐ์ดํ„ฐ ํ™•์ธ ํ›„ dropna๋กœ ๊ทธ๋ƒฅ ๋‹ค ๋‚ ๋ ค๋ฒ„๋ ธ๋‹ค. ๊ทผ๋ฐ ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ. dropna๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ ๋ฆฌ๊ฒŒ ๋˜๋ฉด ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๊ฐ€ 0,1,2,3,5,...,333,335,... ์ด๋Ÿฐ์‹์œผ๋กœ ๋˜์–ด์„œ ๋‚˜์ค‘์— ์ง€๋„์‹œ๊ฐํ™”ํ•  ๋•Œ์˜€๋‚˜ .. ์•”ํŠผ ์—๋Ÿฌ๊ฐ€ ๋œฌ๋‹ค. ๊ทธ๋ž˜์„œ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋ฅผ ๋ฆฌ์…‹ํ•ด์ฃผ์—ˆ๋‹ค. ๋‹ค๋ฅธ ์กฐ์—์„œ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋Œ€์„œ ๊ตฌ๊ฒฝ๊ฐ”๋‹ค๊ฐ€ ์•Œ๊ฒŒ๋œ ์‚ฌ์‹ค .. ๊ฐ์‚ฌ ..


โœ๏ธ 3. ๋ฐ์ดํ„ฐ ๋ถ„์„(๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๊ธฐ)

df.to_csv('๊ฒฝ๊ธฐ๋„์ „๊ธฐ์ฐจํ˜„ํ™ฉ.csv', encoding='utf-8-sig')

๋ฐ์ดํ„ฐ ์ €์žฅ๋ถ€ํ„ฐ ํ•˜๊ณ  ๋ถ„์„ํ•ฉ์‹œ๋‹ค..

# 1) ์‹œ๊ตฐ๋ณ„ ์ถฉ์ „์†Œ ํ˜„ํ™ฉ - ๋‹จ์ˆœํ•œ ๋นˆ๋„์ˆ˜ ์ฒดํฌ
fig = px.bar(df, x='์‹œ๊ตฐ๋ช…', color = '์‹œ๊ตฐ๋ช…')
fig.show()


์‹œ๋ณ„๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ๋ณด๊ณ  ์‹ถ์–ด์„œ color์— ์‹œ๊ตฐ๋ช…์„ ๋„ฃ์–ด๋ณด์•˜๋‹ค.
์„ฑ๋‚จ์‹œ์— ๊ฐ€์žฅ ๋งŽ๊ณ  ์šฉ์ธ๊ณผ ์ˆ˜์›์ด ๋’ค๋”ฐ๋ฅด๊ณ  ์žˆ๋Š” ๋ชจ์Šต.

# 2) ๊ฐ ์‹œ๋ณ„ ์‹œ๊ตฐ๊ตฌ๋ณ„ ์ถฉ์ „์†Œ ํ˜„ํ™ฉ
city = input('์ถฉ์ „์†Œ ํ˜„ํ™ฉ์„ ํ™•์ธํ•˜๊ณ  ์‹ถ์€ ์ง€์—ญ์„ ์ž…๋ ฅํ•˜์‹œ์˜ค: ')  # ์ง€์—ญ ์ด๋ฆ„ ๋„ฃ๊ธฐ
a = df['์‹œ๊ตฐ๋ช…'].str.contains(city)  # ํ•ด๋‹น ์ง€์—ญ์˜ ์ธ๋ฑ์Šค ์ฐพ๊ธฐ
df2 = df[a]  # ์ธ๊ตฌ๊ตฌ์กฐ ์ €์žฅ
fig = px.bar(df2, x='์‹œ๊ตฐ๊ตฌ๋ช…', color ='์‹œ๊ตฐ๊ตฌ๋ช…')
fig.show()


split์„ ํ•œ ์ด์œ .. ์‚ฌ์šฉ์ž์—๊ฒŒ ์‹œ๋ฅผ input ๋ฐ›์•„ ์‹œ๊ตฐ๊ตฌ๋ณ„๋กœ ๋น„๊ตํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค.
๊ทผ๋ฐ ์‚ฌ์‹ค ์ด ๊ทธ๋ž˜ํ”„์—๋Š” ๋น„๋ฐ€์ด ์žˆ๋‹ค. ๊ทธ ์‹œ์— ๊ตฌ๊ฐ€ ์—†์œผ๋ฉด ๊ฑ ๋„๋กœ๋ช…์ฃผ์†Œ๊ฐ€ ๋‚˜์˜จ๋‹ค...

์ด๋ ‡๊ฒŒ .. ์ง€๋ฒˆ์ฃผ์†Œ๋กœ split์„ ํ–ˆ์—ˆ๋‹ค๋ฉด ๋™์œผ๋กœ๋ผ๋„ ๋น„๊ต๊ฐ€ ๊ฐ€๋Šฅํ–ˆ์„ํ…๋ฐ splitํ–ˆ์„ ๋•Œ๋Š” ์ด๋Ÿฐ๊ฑฐ๊นŒ์ง€ ์ƒ๊ฐํ•˜๊ณ  ํ•˜์ง€๋Š” ์•Š์•˜๊ธฐ๋•œ์— ....

# 3) ์šด์˜๊ธฐ๊ด€ ๋นˆ๋„์ˆ˜ ๊ทธ๋ž˜ํ”„
fig = px.bar(df, x='์šด์˜๊ธฐ๊ด€๋ช…', color='์šด์˜๊ธฐ๊ด€๋ช…')
fig.show()


์šด์˜๊ธฐ๊ด€๋ณ„๋กœ๋„ ๋น„๊ตํ•ด๋ณด์•˜๋‹ค. ๊ทผ๋ฐ ๋ณด๋ฉด ์ƒ‰์ด ์—ฐํ•ด์„œ ..
(๋‚˜์ค‘์— ๊ตํ†ต์‚ฌ๊ณ ๋ฐ์ดํ„ฐ๋ถ„์„ํ• ๋•Œ๋Š” ๋”๋”์šฑ ์ƒ‰์ด ์—ฐํ–ˆ๋‹ค)
์ด ์ƒ‰์„ ์–ด์ผ€ ํ•  ์ˆ˜๋Š” ์—†๋‚˜??ํ–ˆ์—ˆ๋Š”๋ฐ ์›”์š”์ผ, ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ 9์›” 5์ผ์— ๊ต์ˆ˜๋‹˜์ด plotly๋กœ ํžˆ์Šคํ† ๊ทธ๋žจ ๊ทธ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ์‹œ๋ฉด์„œ ๊ฑ ํ•ด๊ฒฐ๋๋‹ค ..
๊ต์ˆ˜๋‹˜์ด ํžˆ์Šคํ† ๊ทธ๋žจ ๊ทธ๋ฆฌ์‹œ๋Š” ๊ฑฐ ๋ณด๋ฉด์„œ ์ฒ˜์Œ ๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๊ธฐ ์ „์— ๋นˆ๋„์ˆ˜ ๋น„๊ต ๊ทธ๋ž˜ํ”„๋‹ˆ๊นŒ matplot์œผ๋กœ ํžˆ์Šคํ† ๊ทธ๋žจ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ธ๋‹ค๊ฐ€ ๊ทธ๋ž˜ํ”„๊ฐ€ ๋ญ”๊ฐ€ ๋ง˜์— ์•ˆ๋“ค์–ด์„œ plotly๋กœ ํžˆ์Šคํ† ๊ทธ๋žจ ๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์„ ๊ฒ€์ƒ‰ํ•ด๋ด์•ผ๊ฒ ๋‹ค ํ•ด๋†“๊ณ  ๊นŒ๋จน์€๊ฒŒ ๊ธฐ์–ต์ด ๋‚ฌ๋‹ค.. ์ด์ƒํ•˜๊ฒŒ ๊ต์œก์žฅ์—์„œ ๊ณผ์ œํ•˜๋ฉด ์ •์‹ ์ด ์—†์–ด์„œ ์ง‘์—์„œ ์ฐจ๋ถ„ํžˆ ํ•˜๋ฉด ์ž˜ ๋ณด์ด๋Š” ๊ฒƒ๋“ค๋„ ๋‹ค ์•ˆ๋ณด์ด๊ณ  ๊ธˆ๋ฐฉ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋„ ์—„์ฒญ ์‹œ๊ฐ„์„ ๋“ค์—ฌ ํ—ค๋งค๊ฒŒ ๋œ๋‹ค .. ๋‚˜์ค‘์— ๊ตํ†ต์‚ฌ๊ณ  ๋ฐ์ดํ„ฐ ๋ถ„์„ํ• ๋•Œ ์ด๊ฒŒ ์—„์ฒญ ์‹ฌํ•ด์ ธ์„œ .. ๊ฑ ์ง‘์—์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œํ•˜๊ฒŒ๋ผ์„œ ๋ฐค๋„ ์ƒœ๋‹ค ...
๋‚˜๋Š” ๋ญ๊ฐ€ ๋ฌธ์ œ์ง€
๋ญ๊ฐ€ ๋ฌธ์ œ๊ธด ๋ญ๊ฐ€ ๋ฌธ์ œ์•ผ ์ง‘์ค‘๋ ฅ ๋ฌธ์ œ์ง€ ..
์šฐ์งœ์ฃ  ์ด๋ช…์บ”๋””๋ผ๋„ ์‚ฌ๋จน์–ด์•ผ๋ ๊นŒ์š”

# 4) ์ถฉ์ „๊ธฐ ํ˜„ํ™ฉ(ํŒŒ์ด์ฐจํŠธ)
ratio = df['์ถฉ์ „๊ธฐํƒ€์ž…๋ช…'].value_counts()
labels=['AC์™„์†', 'DC์ฐจ๋ฐ๋ชจ+AC3์ƒ+DC์ฝค๋ณด', 'DC์ฐจ๋ฐ๋ชจ+DC์ฝค๋ณด', 'DC์ฝค๋ณด', 'DC์ฐจ๋ฐ๋ชจ+AC3์ƒ']
plt.figure(dpi=200)
plt.title('์ถฉ์ „๊ธฐ ๋น„์œจ')
plt.pie(ratio, startangle=90, autopct='%.2f%%')
plt.legend(labels, loc=(0.9, 0.7))
plt.show()

์ถฉ์ „๊ธฐ๋Š” ํŒŒ์ด์ฐจํŠธ๋กœ ๊ทธ๋ฆฌ๊ณ  ์‹ถ์–ด์„œ ๊ทธ๋ฆฌ๋Š”๋ฐ ์•„๋ฌด๋ž˜๋„ ์ด๊ฑด ์ด value ๊ฐ™์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๋ณด๋‹ˆ๊นŒ value_counts๋ฅผ ์จ์„œ ๊ทธ๋ ธ๋‹ค.
(์ด๊ฒƒ๋„ ๋‹ค๋ฅธ์กฐ๊ฐ€ ์•Œ๋ ค์คฌ๋‹ค ๊ฐ์‚ฌ ..)
์ด๊ฒƒ๋„ plotly ์จ์„œ ๊ทธ๋ฆฌ๋ฉด ์ข€ ๋” ๋ณด์™„ ๊ฐ€๋Šฅํ•  ๊ฑฐ ๊ฐ™๋‹ค.

# 5) ์ง€์—ญ๋ณ„ ์šด์˜๊ธฐ๊ด€ ๋ถ„ํฌ๋„
fig = px.bar(df, x='์‹œ๊ตฐ๋ช…', color='์ถฉ์ „๊ธฐํƒ€์ž…๋ช…')
fig.show()


๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ๋‹ค๋ณด๋‹ˆ๊นŒ ๋ˆ„์ ๊ทธ๋ž˜ํ”„๋ฅผ ๋„ˆ๋ฌด ...... ๊ทธ๋ฆฌ๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ ์ด๊ฒŒ ๋‹ค ์ปฌ๋Ÿผ์ด๋‹ค๋ณด๋‹ˆ๊นŒ ๊ทธ๋ ค์ง€์ง€๋ฅผ ์•Š์•„์„œ ..
(๊ฒ€์ƒ‰์„ ๊ทธ์ง“๋ง ์•ˆ์น˜๊ณ  50๋ฒˆ์€ ํ•˜๊ณ  ์œ ํŠœ๋ธŒ ์˜์ƒ๋„ 5๊ฐœ๋Š” ๋ณธ ๊ฑฐ ๊ฐ™์€๋ฐ groupby๋ฅผ ๋ชฐ๋ž๋‹ค .. ๊ตฌ๊ธ€๋ง ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ถ€ํ„ฐ ์—ฐ๋งˆํ•ด์•ผํ• ๋“ฏ)
์ผ๋‹จ์€ color๋กœ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฑธ๋กœ ๋งŒ์กฑํ–ˆ์—ˆ๋‹ค ..


โœ๏ธ 4. ์ง€๋„ ์‹œ๊ฐํ™”

์šฐ๋ฆฌ ์กฐ๋Š” ์ง€๋„์‹œ๊ฐํ™”์— ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ์ด

  1. ์„ค์น˜ ์ทจ์†Œ๋œ ์ถฉ์ „์†Œ ๋งต์— ํ‘œ์‹œํ•˜๊ธฐ
  2. ์ถฉ์ „๊ธฐ ์„ ํ˜ธ๋„ ๋งต์— ํ‘œ์‹œํ•˜๊ธฐ
  3. ๋žœ๋“œ๋งˆํฌ ์ฐพ์•„์„œ ๊ทธ ๊ทผ์ฒ˜ ์ „๊ธฐ์ฐจ ํ˜„ํ™ฉ ๋ณด๊ธฐ

์˜€๋‹ค(๋ชจ๋‘ ์กฐ์žฅ๋‹˜์˜ ์•„์ด๋””์–ด .. ์งฑ!)

2๋ฒˆ์€ ์ž๋ฃŒ๋ฅผ ์กฐ์‚ฌํ•˜๋‹ค๋ณด๋‹ˆ ์ฐจ์ข…๋ณ„๋กœ ์ถฉ์ „๊ธฐ ํ˜ธํ™˜๋˜๋Š”๊ฒŒ ์žˆ๊ณ  ์•ˆ๋˜๋Š”๊ฒŒ ์žˆ์–ด์„œ ์ด๊ฑธ๋กœ ํ‘œ์‹œํ•˜๋Š” ๊ฑธ๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค. ๋˜ ์›๋ž˜ ์ถฉ์ „๊ธฐ ๋ณ„๋กœ ์ƒ‰์„ ๊ตฌ๋ถ„ํ•ด์„œ ํ‘œ์‹œํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ์‹œ๊ฐํ™”๋ฅผ ํ•˜๋‹ค๋ณด๋‹ˆ ์ด๊ฒŒ ๋ณ„๋กœ ์˜๋ฏธ๊ฐ€ ์—†๋Š” ๊ฑฐ ๊ฐ™์•„์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ฐจ์ข…์„ ์ž…๋ ฅํ•˜๋ฉด ์ถฉ์ „ ๊ฐ€๋Šฅํ•œ ๊ณณ๊ณผ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ณณ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ตœ์ข… ๊ฒฐ์ •!

์ž๋ฃŒ๋Š” ์ด๊ณณ์—์„œ ์ฐธ๊ณ ํ–ˆ๋‹ค!!
(https://www.ev.or.kr/portal/chargerkind)

from ipywidgets.widgets.widget_selection import RadioButtons
# 3. ์ง€๋„ ์‹œ๊ฐํ™” - ์ถฉ์ „์†Œ ์œ„์น˜
# ์ถฉ์ „๊ธฐํƒ€์ž…๋ณ„ ๊ฐ€๋Šฅํ•œ ์ฐจ์ข… all~~~

from scipy.sparse import dok


type_1 = ['๋ธ”๋ฃจ์˜จ', '๋ ˆ์ด', '์˜์šธ', '์•„์ด์˜ค๋‹‰', '์ŠคํŒŒํฌ', 'i3', 'Leaf', '๋ณผํŠธ', 'ZOE']
type_2 = ['๋ธ”๋ฃจ์˜จ', '๋ ˆ์ด', '์˜์šธ', '์•„์ด์˜ค๋‹‰', 'Leaf', 'SM3 ZE', '์ฝ”๋‚˜', '๋‹ˆ๋กœ', 'ZOE', '์ŠคํŒŒํฌ', '๋ณผํŠธ', 'i3']
type_3 = ['๋ธ”๋ฃจ์˜จ', '๋ ˆ์ด', '์˜์šธ', '์•„์ด์˜ค๋‹‰', 'Leaf', '์ฝ”๋‚˜', '๋‹ˆ๋กœ', 'ZOE', '์ŠคํŒŒํฌ', '๋ณผํŠธ', 'i3']
type_4 = ['์•„์ด์˜ค๋‹‰', '์ฝ”๋‚˜', '๋‹ˆ๋กœ', '์˜์šธ', 'ZOE', '์ŠคํŒŒํฌ', '๋ณผํŠธ', 'i3']
type_5 = ['๋ธ”๋ฃจ์˜จ', '๋ ˆ์ด', '์˜์šธ', '์•„์ด์˜ค๋‹‰', 'Leaf', 'SM3 ZE']
landmark = ['์šฉ์ธ ์—๋ฒ„๋žœ๋“œ', '์ˆ˜์› ํ™”์„ฑ', '์„œ์šธ๋Œ€๊ณต์›(์„œ์šธ๋žœ๋“œ)', 'ํ•œ๊ตญ๋ฏผ์†์ดŒ', 'ํŒŒ์ฃผ ํ”„๋กœ๋ฐฉ์Šค ๋งˆ์„']
landmark_lat = ['37.27711935934', '37.2869619', '37.42922350891575', '37.259406344922276', '37.79080554013303']
landmark_lon = ['127.22694956007', '127.011801', '127.01476688687515', '127.12315632756929', '126.68517789344757']


print(landmark)

carname = input("์ฐจ์ข…์„ ์ž…๋ ฅํ•˜์„ธ์š”")
ln = input("์œ„์˜ ๋žœ๋“œ๋งˆํฌ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ณจ๋ผ ์ž…๋ ฅํ•˜์‹œ์˜ค")


Kmap = folium.Map(location=[df['WGS84์œ„๋„'].mean(), df['WGS84๊ฒฝ๋„'].mean()], zoom_start=10)

condition = df['์ถฉ์ „๊ธฐํƒ€์ž…๋ช…']

for n in range(5):
  if ln in landmark[n]:
    folium.CircleMarker([float(landmark_lat[n]), float(landmark_lon[n])], radius = 100, 
                      color='orange', fill_color='orange').add_to(Kmap)

for index_draw in range(0, len(condition)):
  if condition[index_draw] == 'AC์™„์†' and carname in type_1:
    folium.Marker([df.loc[index_draw, 'WGS84์œ„๋„'], df.loc[index_draw, 'WGS84๊ฒฝ๋„']],
                  popup='<pre>'+df['์ถฉ์ „์†Œ๋ช…'][index_draw]+'</pre>', tooltip = '๋ธ”๋ฃจ์˜จ, ๋ ˆ์ด, ์˜์šธ, ์•„์ด์˜ค๋‹‰, ์ŠคํŒŒํฌ, i3, Leaf, ๋ณผํŠธ, ZOE',
                  icon = folium.Icon(color='blue', icon='fa-car', prefix='fa')).add_to(Kmap)

  elif condition[index_draw] == 'DC์ฐจ๋ฐ๋ชจ+AC3์ƒ+DC์ฝค๋ณด' and carname in type_2:
    folium.Marker([df.loc[index_draw, 'WGS84์œ„๋„'], df.loc[index_draw, 'WGS84๊ฒฝ๋„']],
                  popup='<pre>'+df['์ถฉ์ „์†Œ๋ช…'][index_draw]+'</pre>', tooltip = '๋ธ”๋ฃจ์˜จ, ๋ ˆ์ด, ์˜์šธ, ์•„์ด์˜ค๋‹‰, Leaf, SM3 ZE, ์ฝ”๋‚˜, ๋‹ˆ๋กœ, ZOE, ์ŠคํŒŒํฌ, ๋ณผํŠธ, i3',
                  icon = folium.Icon(color='blue', icon='fa-car', prefix='fa')).add_to(Kmap)

  elif condition[index_draw] == 'DC์ฐจ๋ฐ๋ชจ+DC์ฝค๋ณด' and carname in type_3:
    folium.Marker([df.loc[index_draw, 'WGS84์œ„๋„'], df.loc[index_draw, 'WGS84๊ฒฝ๋„']],
                  popup='<pre>'+df['์ถฉ์ „์†Œ๋ช…'][index_draw]+'</pre>', tooltip = '๋ธ”๋ฃจ์˜จ, ๋ ˆ์ด, ์˜์šธ, ์•„์ด์˜ค๋‹‰, Leaf, ์ฝ”๋‚˜, ๋‹ˆ๋กœ, ZOE, ์ŠคํŒŒํฌ, ๋ณผํŠธ, i3',
                  icon = folium.Icon(color='blue', icon='fa-car', prefix='fa')).add_to(Kmap)

  elif condition[index_draw] == 'DC์ฝค๋ณด' and carname in type_4:
    folium.Marker([df.loc[index_draw, 'WGS84์œ„๋„'], df.loc[index_draw, 'WGS84๊ฒฝ๋„']],
                  popup='<pre>'+df['์ถฉ์ „์†Œ๋ช…'][index_draw]+'</pre>', tooltip = '์•„์ด์˜ค๋‹‰, ์ฝ”๋‚˜, ๋‹ˆ๋กœ, ์˜์šธ, ZOE, ์ŠคํŒŒํฌ, ๋ณผํŠธ, i3',
                  icon = folium.Icon(color='blue', icon='fa-car', prefix='fa')).add_to(Kmap)

  else:
    folium.Marker([df.loc[index_draw, 'WGS84์œ„๋„'], df.loc[index_draw, 'WGS84๊ฒฝ๋„']],
                  popup='<pre>'+df['์ถฉ์ „์†Œ๋ช…'][index_draw]+'</pre>', tooltip = '์ถฉ์ „ ๋ถˆ๊ฐ€',
                  icon = folium.Icon(color='red', icon='fa-car', prefix='fa')).add_to(Kmap)  

Kmap


์ฐจ์ข…์€ ์ฝ”๋‚˜, ๋žœ๋“œ๋งˆํฌ๋Š” ๋ฏผ์†์ดŒ์„ ์ž…๋ ฅํ•œ ๊ฒฐ๊ณผ์ด๋‹ค
์†”์งํžˆ ๊ฒฝ๊ธฐ๋„ ์ „๊ธฐ์ฐจ ํ˜„ํ™ฉ ๋ถ„์„์€ ์šฐ๋ฆฌ๊ฐ€ ํ•˜๋ ค๊ณ  ํ–ˆ๋˜ ๋Œ€๋กœ ๊ฒฐ๊ณผ๊ฐ€ ์ž˜ ๋‚˜์˜จ ํŽธ์ธ ๊ฑฐ ๊ฐ™๋‹ค.
๋ฌธ์ œ๋Š” .. ๊ตํ†ต์‚ฌ๊ณ ํ˜„ํ™ฉ์ด์—ˆ๋‹ค.
์ง‘์—์„œ ๊ณผ์ œํ•˜๊ณ ์žˆ๋Š”๋ฐ๋„ ์ง‘์— ๊ฐ€๊ณ  ์‹ถ์—ˆ๋‹ค ใ…Žใ…Ž ..



โœ… 2018~2021๋…„ ๊ตํ†ต์‚ฌ๊ณ  ํ˜„ํ™ฉ ๋ถ„์„

์ด๋ฒˆ์—๋„

  1. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž„ํฌํŠธ ๋ฐ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
  2. ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ
  3. ๋ฐ์ดํ„ฐ ๋ถ„์„(๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๊ธฐ)
  4. ์ง€๋„ ์‹œ๊ฐํ™”
  5. ๋ถ€์‚ฐ์ง€์—ญ ๊ตํ†ต์‚ฌ๊ณ  ํ˜„ํ™ฉ ๋ถ„์„

๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ž‘์„ฑํ•ด๋ณด๊ฒ ๋‹ค.


โœ๏ธ 1. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž„ํฌํŠธ ๋ฐ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import plotly.express as px
import folium

df_18 = pd.read_csv('/content/drive/MyDrive/แ„Œแ…ฅแ†ซแ„€แ…ฉแ†ผแ„€แ…ชแ†ซแ„…แ…งแ†ซ/แ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅ แ„Œแ…กแ„…แ…ญ/แ„ƒแ…ฉแ„…แ…ฉแ„€แ…ญแ„แ…ฉแ†ผแ„€แ…ฉแ†ผแ„ƒแ…กแ†ซ_แ„‰แ…กแ„†แ…กแ†ผแ„€แ…ญแ„แ…ฉแ†ผแ„‰แ…กแ„€แ…ฉแ„Œแ…ฅแ†ผแ„‡แ…ฉ_2018.csv')
df_19 = pd.read_csv('/content/drive/MyDrive/แ„Œแ…ฅแ†ซแ„€แ…ฉแ†ผแ„€แ…ชแ†ซแ„…แ…งแ†ซ/แ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅ แ„Œแ…กแ„…แ…ญ/แ„ƒแ…ฉแ„…แ…ฉแ„€แ…ญแ„แ…ฉแ†ผแ„€แ…ฉแ†ผแ„ƒแ…กแ†ซ_แ„‰แ…กแ„†แ…กแ†ผแ„€แ…ญแ„แ…ฉแ†ผแ„‰แ…กแ„€แ…ฉแ„Œแ…ฅแ†ผแ„‡แ…ฉ_2019.csv')
df_20 = pd.read_csv('/content/drive/MyDrive/แ„Œแ…ฅแ†ซแ„€แ…ฉแ†ผแ„€แ…ชแ†ซแ„…แ…งแ†ซ/แ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅ แ„Œแ…กแ„…แ…ญ/แ„ƒแ…ฉแ„…แ…ฉแ„€แ…ญแ„แ…ฉแ†ผแ„€แ…ฉแ†ผแ„ƒแ…กแ†ซ_แ„‰แ…กแ„†แ…กแ†ผแ„€แ…ญแ„แ…ฉแ†ผแ„‰แ…กแ„€แ…ฉแ„Œแ…ฅแ†ผแ„‡แ…ฉ_2020.csv')
df_21 = pd.read_csv('/content/drive/MyDrive/แ„Œแ…ฅแ†ซแ„€แ…ฉแ†ผแ„€แ…ชแ†ซแ„…แ…งแ†ซ/แ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅ แ„Œแ…กแ„…แ…ญ/แ„ƒแ…ฉแ„…แ…ฉแ„€แ…ญแ„แ…ฉแ†ผแ„€แ…ฉแ†ผแ„ƒแ…กแ†ซ_แ„‰แ…กแ„†แ…กแ†ผ แ„€แ…ญแ„แ…ฉแ†ผแ„‰แ…กแ„€แ…ฉ แ„Œแ…ฅแ†ผแ„‡แ…ฉ_20211231.csv')

์ด๋•Œ๊นŒ์ง€๋งŒ ํ•ด๋„ ์ œ์ •์‹ ์ด์—ˆ๋˜ ๊ฑฐ ๊ฐ™์€๋ฐ ์–ด๋””์„œ ์ •์‹ ๋จธ๋ฆฌ๊ฐ€ ๊ฐ€์ถœํ–‡์„๊ผฌ...


โœ๏ธ 2. ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ

# 2018๋…„
date_18 = df_18['๋ฐœ์ƒ๋…„์›”์ผ์‹œ๋ถ„'].str.split(' ')
df_18['๋ฐœ์ƒ๋…„์›”์ผ'] = pd.to_datetime(date_18.str.get(0), format='%Y-%m-%d', errors='raise')
df_18['๋ฐœ์ƒ์‹œ๊ฐ„'] = date_18.str.get(1).str.split(':').str.get(0)
df_18 = df_18.astype({'๋ฐœ์ƒ์‹œ๊ฐ„':'int64'})
df_18 = df_18.astype({'๋ฐœ์ƒ๋…„':'str'})
#df_18['๋ฐœ์ƒ์‹œ๊ฐ„'] = pd.to_datetime(date_18.str.get(1), format='%H:%M', errors='raise').dt.time  -> ์‹œ๋ถ„์ดˆ

์–ด๋””๊ธด ์–ด๋””์•ผ ๊ฑ ์ง‘์—์„œ ๋‚˜์˜จ ์ˆœ๊ฐ„๋ถ€ํ„ฐ ์ •์‹ ๋จธ๋ฆฌ๋Š” ์—†์—ˆ๋˜ ๊ฑฐ ๊ฐ™๋‹ค...
์•”ํŠผ ๊ฒฝ๊ธฐ๋„ ํ˜„ํ™ฉ์ด๋ž‘ ์œ ์‚ฌํ•˜๊ฒŒ split์ด์šฉํ•ด์„œ ๋ฐœ์ƒ๋…„์›”์ผ์‹œ๋ถ„์—์„œ ๋ฐœ์ƒ๋…„์›”์ผ๊ณผ ๋ฐœ์ƒ์‹œ๊ฐ„๋งŒ ๋”ฐ์™€์„œ ์ƒˆ ์ปฌ๋Ÿผ์„ ์ƒ์„ฑํ•˜๊ณ  ๋ฐ์ดํ„ฐ ํƒ€์ž…๋„ ๋ณ€๊ฒฝํ•ด์ฃผ์—ˆ๋‹ค. ์‚ฌ์‹ค ๋ฐœ์ƒ๋…„์€ ๋‚˜์ค‘์— ๊ทธ๋ž˜ํ”„๊ทธ๋ฆฌ๋‹ค๊ฐ€ ์ƒ์„ฑํ–ˆ๋‹ค.

# 2019๋…„
date_19 = df_19['๋ฐœ์ƒ๋…„์›”์ผ์‹œ'].str.split(' ')
df_19['๋ฐœ์ƒ๋…„์›”์ผ'] = pd.to_datetime(date_19.str.get(0), format='%Y-%m-%d', errors='raise')
df_19['๋ฐœ์ƒ์‹œ๊ฐ„'] = date_19.str.get(1)
df_19 = df_19.astype({'๋ฐœ์ƒ์‹œ๊ฐ„':'int64'})
df_19 = df_19.astype({'๋ฐœ์ƒ๋…„':'str'})

# 2020๋…„
date_20 = df_20['๋ฐœ์ƒ๋…„์›”์ผ์‹œ'].str.split(' ')
df_20['๋ฐœ์ƒ๋…„์›”์ผ'] = pd.to_datetime(date_20.str.get(0), format='%Y-%m-%d', errors='raise')
df_20['๋ฐœ์ƒ์‹œ๊ฐ„'] = date_20.str.get(1)
df_20 = df_20.astype({'๋ฐœ์ƒ์‹œ๊ฐ„':'int64'})
df_20 = df_20.astype({'๋ฐœ์ƒ๋…„':'str'})

# 2021๋…„
date_21 = df_21['๋ฐœ์ƒ๋…„์›”์ผ์‹œ'].str.split(' ')
df_21['๋ฐœ์ƒ๋…„์›”์ผ'] = pd.to_datetime(date_21.str.get(0), format='%Y-%m-%d', errors='raise')
df_21['๋ฐœ์ƒ์‹œ๊ฐ„'] = date_21.str.get(1).str.split(':').str.get(0)
df_21 = df_21.astype({'๋ฐœ์ƒ์‹œ๊ฐ„':'int64'})
df_21 = df_21.astype({'๋ฐœ์ƒ๋…„':'str'})

๋ฐ์ดํ„ฐ๋“ค์ด ๋‹ค ๋‹ฌ๋ผ์„œ ์š•ํ•˜๋ฉด์„œ ์ „์ฒ˜๋ฆฌํ–ˆ๋‹ค.
๊ทผ๋ฐ ์ด๊ฑธ ๊ต์œก์žฅ์—์„œ๋Š” ๋ˆˆ์น˜๋ฅผ ๋ชป์ฑ” .. ๋ฏธ์นœ๊ฑฐ์•„๋‹˜???
์กฐ์žฅ๋‹˜์ด๋ž‘ ํŒ€์›์–ธ๋‹ˆ๊ฐ€ ๋ง์„ ํ•ด์คฌ๋Š”๋ฐ ์•„ ใ…‡ใ…‹ใ…‡ใ…‹ํ•ด๋†“๊ณ  ์•„๋ฌด์ƒ๊ฐ์—†์ด ์ „์ฒ˜๋ฆฌํ•˜๊ณ  ๋‚˜์ค‘์— ์ง‘์—์„œ ํ•˜๋Š”๋ฐ ์ง€๋„์‹œ๊ฐํ™”๊ฐ€ ์•ˆ๋ผ์„œ ๊ทธ์ œ์„œ์•ผ ๋ˆˆ์น˜์ฑ”..
๋‚จ์˜ ๋ง์„ ๊ท“๋“ฑ์œผ๋กœ๋„ ์•ˆ๋“ค์€๊ฑฐ์ง€ ๊ฑ
์ฝ”๋žฉ๋„ ๋‹ต๋‹ตํ–‡๊ฒŸ๋‹ค ์˜ค๋ฅ˜๋กœ ๊ทธ๋”ฐ๊ตฌ๋กœ ํ•˜๋Š” ๊ฑฐ ์•„๋‹ˆ๋ผ๋„ ์•Œ๋ ค์ฃผ๋Š”๋ฐ ์•Œ์•„๋จน์ง€๋„ ๋ชปํ•˜๊ณ  ... ๊ทธ๋ ‡๊ฒŒ ์ €๋Š” ์•ฝ 8์‹œ๊ฐ„์„ ๊ทธ์ € ํ˜๋Ÿฌ๋ณด๋‚ด๊ณ  ์ง‘์— ์™”์Šต๋‹ˆ๋‹ค..
์ด๊ฑฐ ์“ฐ๋‹ˆ๊นŒ ๋˜ ํ™”๋‚˜๋„ค ...

# 2) ์ปฌ๋Ÿผ ์ •๋ฆฌ
# 2-1) 18๋…„๋„ ์‚ฌ์ƒ์ž = ์‚ฌ๋ง์ž + ์ค‘์ƒ์ž + ๊ฒฝ์ƒ์ž, ๋‚˜๋จธ์ง€๋…„๋„ ๋ถ€์ƒ์ž = ์ค‘์ƒ์ž + ๊ฒฝ์ƒ์ž)
del df_18['์‚ฌ์ƒ์ž์ˆ˜']
df_18['๋ถ€์ƒ์ž์ˆ˜'] = df_18['์ค‘์ƒ์ž์ˆ˜'] + df_18['๊ฒฝ์ƒ์ž์ˆ˜']
# 2-2) ๋ฒ•๊ทœ์œ„๋ฐ˜ -> ๊ฐ€ํ•ด์ž๋ฒ•๊ทœ์œ„๋ฐ˜
del df_18['๋ฒ•๊ทœ์œ„๋ฐ˜_๋Œ€๋ถ„๋ฅ˜']
df_18.rename(columns={'๋ฒ•๊ทœ์œ„๋ฐ˜':'๊ฐ€ํ•ด์ž๋ฒ•๊ทœ์œ„๋ฐ˜'}, inplace=True)
# 2-3) ๊ฐ€ํ•ด์ž๋‹น์‚ฌ์ž๋ถ„๋ฅ˜, ํ”ผํ•ด์ž๋‹น์‚ฌ์ž๋ถ„๋ฅ˜
del df_18['๊ฐ€ํ•ด์ž_๋‹น์‚ฌ์ž์ข…๋ณ„_๋Œ€๋ถ„๋ฅ˜']
del df_18['ํ”ผํ•ด์ž_๋‹น์‚ฌ์ž์ข…๋ณ„_๋Œ€๋ถ„๋ฅ˜']
# 2-4) ๋ฐœ์ƒ์œ„์น˜ () -> _
df_21.rename(columns={'๋ฐœ์ƒ์œ„์น˜X(UTMK)':'๋ฐœ์ƒ์œ„์น˜X_UTMK', '๋ฐœ์ƒ์œ„์น˜Y(UTMK)':'๋ฐœ์ƒ์œ„์น˜Y_UTMK'}, inplace=True)

๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋ฉด ๋‚˜๋จธ์ง€ ๋ฐ์ดํ„ฐ์—๋Š” ์‚ฌ์ƒ์ž์ˆ˜๊ฐ€ ์—†๊ณ  18๋…„๋„์—๋งŒ ๋ถ€์ƒ์ž์ˆ˜๊ฐ€ ์—†๊ณ  ์ด๋Ÿฐ๊ฒŒ ์žˆ์–ด์„œ ์ฒ˜์Œ์—๋Š” ๊ฑ 18๋…„๋„์—๋งŒ ์žˆ๋Š” ์‚ฌ์ƒ์ž ์ปฌ๋Ÿผ์„ ๋‚ ๋ฆฌ๊ณ  18๋…„๋„์—๋งŒ ๋ถ€์ƒ์ž์ˆ˜ ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€ํ–ˆ๋Š”๋ฐ ๋‚˜์ค‘์— ์ฝ”๋กœ๋‚˜ ๊ด€๋ จ๋œ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ๋‹ค๋ณด๋‹ˆ๊นŒ ์‚ฌ์ƒ์ž์ˆ˜ ๋ฐ์ดํ„ฐ๋กœ๋„ ๋น„๊ตํ•˜๊ณ  ์‹ถ์–ด์ ธ์„œ ๊ฒฐ๊ตญ ๊ทธ๋•Œ ๋‹ค์‹œ ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€ ์ƒ์„ฑํ–ˆ๋‹ค .. ์ปฌ๋Ÿผ์ˆ˜๋‚˜ ์ปฌ๋Ÿผ๋ช…์ด ๋‹ค๋ฅด๋ฉด ๋ฐ์ดํ„ฐ ํ•ฉ์น ๋•Œ ๋‹ค nan ๊ฐ’ ์ฒ˜๋ฆฌ๊ฐ€ ๋˜๊ธฐ๋•Œ๋ฌธ์— ์ด๊ฑธ ๋‹ค ํ•˜๋‚˜ํ•˜๋‚˜ ๊ณ ์ณ์ค˜์•ผํ•œ๋‹ค. ์ด๊ฒƒ๋„ ๋ชฐ๋ž๋‹ค๊ฐ€ ์ง‘์—์™€์„œ ์•Œ์•˜๋‹ค .. ๋Œ€์ฒด ๊ต์œก์žฅ์—์„œ๋Š” ๋ญ˜ํ–ˆ๋ƒ ์ €ํ˜ˆ์••์ธ๋ฐ ๊ณง ๊ณ ํ˜ˆ์••๋  ๊ฑฐ ๊ฐ™๋‹ค ๊ฑ

# 3) ์ปฌ๋Ÿผ์‚ญ์ œ
del df_18['๋ฐœ์ƒ๋…„์›”์ผ์‹œ๋ถ„']
del df_19['๋ฐœ์ƒ๋…„์›”์ผ์‹œ']
del df_20['๋ฐœ์ƒ๋…„์›”์ผ์‹œ']
del df_21['๋ฐœ์ƒ๋…„์›”์ผ์‹œ']

ํ•„์š”์—†๋Š” ์ปฌ๋Ÿผ ์‚ญ์ œํ•ด์ฃผ๊ณ 

# 4) ๋ฐ์ดํ„ฐ ํ•ฉ์น˜๊ธฐ
df_list = [df_18, df_19, df_20, df_21]
df_all = pd.concat(df_list, ignore_index=True)

๋ฐ์ดํ„ฐ๋ฅผ ํ•ฉ์ณ์ฃผ์—ˆ๋‹ค ..


โœ๏ธ 3. ๋ฐ์ดํ„ฐ ๋ถ„์„(๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๊ธฐ)

# 1) ๋…„๋„๋ณ„ ์‚ฌ๋ง์ž์ˆ˜ ๋น„๊ต
fig = px.bar(df_all, x='๋ฐœ์ƒ๋…„', y = '์‚ฌ๋ง์ž์ˆ˜')
fig.show()


ํžˆ์Šคํ† ๊ทธ๋žจ ....

# 2) ๋…„๋„๋ณ„ ๋ถ€์ƒ์ž์ˆ˜ ๋น„๊ต
fig = px.bar(df_all, x='๋ฐœ์ƒ๋…„', y='๋ถ€์ƒ์ž์ˆ˜')
fig.show()


ํžˆ์Šคํ† ๊ทธ๋žจ์„ ํ–ˆ์—ˆ๋‹ค๋ฉด ..........

# 3) ์š”์ผ๋ณ„ ์‚ฌ๋ง์ž์ˆ˜ ๋น„๊ต
fig = px.bar(df_all, x='์š”์ผ', y='์‚ฌ๋ง์ž์ˆ˜', color='์ฃผ์•ผ')
fig.show()


โœ๏ธ 4. ์ง€๋„ ์‹œ๊ฐํ™”

# ์ง€๋„์‹œ๊ฐํ™”(์—ฐ๋„๋ณ„๋กœ ์ปฌ๋Ÿฌ ๊ตฌ๋ณ„)

df_map = folium.Map(location=[df_all['์œ„๋„'].mean(), df_all['๊ฒฝ๋„'].mean()], zoom_start=12)


df_all = df_all.astype({'๋ถ€์ƒ์ž์ˆ˜':'float64'})
df_all = df_all.astype({'์‚ฌ๋ง์ž์ˆ˜':'float64'})

acc = df_all.์‚ฌ๊ณ ์œ ํ˜•
year = df_all.๋ฐœ์ƒ๋…„

for n in range(len(year)):
  if year[n] == '2018':
    cnt = df_all['์‚ฌ๋ง์ž์ˆ˜'][n] + df_all['๋ถ€์ƒ์ž์ˆ˜'][n]
    folium.CircleMarker([df_all['์œ„๋„'][n],df_all['๊ฒฝ๋„'][n]], radius=cnt*5, popup=acc[n], 
                        color='red', fill_color='red').add_to(df_map)
  elif year[n]=='2019':
    cnt = df_all['์‚ฌ๋ง์ž์ˆ˜'][n] + df_all['๋ถ€์ƒ์ž์ˆ˜'][n]
    folium.CircleMarker([df_all['์œ„๋„'][n],df_all['๊ฒฝ๋„'][n]], radius=cnt*5, popup=acc[n], 
                        color='blue', fill_color='blue').add_to(df_map)
  elif year[n]=='2020':
    cnt = df_all['์‚ฌ๋ง์ž์ˆ˜'][n] + df_all['๋ถ€์ƒ์ž์ˆ˜'][n]
    folium.CircleMarker([df_all['์œ„๋„'][n],df_all['๊ฒฝ๋„'][n]], radius=cnt*5, popup=acc[n], 
                        color='green', fill_color='green').add_to(df_map)
  elif year[n]=='2021':
    cnt = df_all['์‚ฌ๋ง์ž์ˆ˜'][n] + df_all['๋ถ€์ƒ์ž์ˆ˜'][n]
    folium.CircleMarker([df_all['์œ„๋„'][n],df_all['๊ฒฝ๋„'][n]], radius=cnt*5, popup=acc[n], 
                        color='yellow', fill_color='yellow').add_to(df_map)

df_map

๊ทธ๋ฆฌ๊ณ  ๋ฐœํ‘œํ•  ๋•Œ ์ง€๋„์‹œ๊ฐํ™”ํ•œ ๊ฑฐ ๋ณด์—ฌ์ฃผ๋ ค๊ณ ํ•˜์ž ํ™”๋ฉด์ด ๋…ธ๋ž€์ƒ‰์œผ๋กœ ๋– ๊ฐ€์ง€๊ณ  ๊ฒฐ๊ตญ ๊ทธ๋ƒฅ ๋„˜์–ด๊ฐ”์—ˆ๋Š”๋ฐ ๊ทธ ์›์ธ์„ ์•Œ์•˜๋‹ค .. ์›๋ž˜ CircleMarker๋ง๊ณ  Circle๋กœ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ–ˆ์–ด์„œ ๋ฐ˜์ง€๋ฆ„์„ cnt * 250์„ ํ•ด๋†”์„œ ๊ทธ๋žฌ๋‹ค ...
์ด๊ฑฐ ์“ฐ๋ฉด์„œ ๋˜ ํ™”๋ฉด์ด ๋…ธ๋ž—๊ฒŒ ๋– ์„œ ์ปดํ“จํ„ฐ๊ฐ€ ๋“œ๋””์–ด ๋ง›์ด ๊ฐ„๊ฑด๊ฐ€ ..... ํ–ˆ๋Š”๋ฐ ์•Œ๊ณ ๋ณด๋‹ˆ ๊ทธ๋ž˜์„œ ๊ทธ๋Ÿฐ๊ฑฐ์˜€๋‹ค.. 5๋กœ ๋ฐ”๊พธ๋ฉด ์ž˜ ๋ณด์ธ๋‹ค.


โœ๏ธ 5. ๋ถ€์‚ฐ์ง€์—ญ ๊ตํ†ต์‚ฌ๊ณ  ํ˜„ํ™ฉ ๋ถ„์„

์œ„์—๊นŒ์ง€๊ฐ€ ๊ต์ˆ˜๋‹˜์ด ์ฃผ์‹ ๊ณผ์ œ์˜€๊ณ  ์ด๊ฑฐ๋งŒ ํ•˜๋ฉด ์žฌ๋ฏธ์—†์œผ๋‹ˆ๊นŒ ..
์ถ”๊ฐ€์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒŒ ๋ญ ์—†์„๊นŒ ๊ณ ๋ฏผ์„ ํ•˜๋‹ค๊ฐ€ ๋ถ€์‚ฐ์ด ๋„๋กœ๊ฐ€ ๋ง‰์žฅ์ด๋ผ ์ดˆ๋ณด์ž๋“ค์ด๋‚˜ ์—ฌํ–‰์˜จ ์‚ฌ๋žŒ๋“ค์€ ์šด์ „ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๊ณ  ํ•œ ๊ฒŒ ์ƒ๊ฐ๋‚˜์„œ ๋ถ€์‚ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋”ฐ๋กœ ์ €์žฅํ•ด์„œ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด๋‹ˆ๊นŒ ์ „์ฒด ๋ฐ์ดํ„ฐ๋กœ ๋…„๋„๋ณ„ ๋ถ„์„์„ ํ•œ ๊ฒƒ๊ณผ ๋‹ค๋ฅธ ํŠน์ดํ•œ ๊ทธ๋ž˜ํ”„๊ฐ€ ๊ทธ๋ ค์ ธ์„œ ๋ถ€์‚ฐ์ง€์—ญ ๊ตํ†ต์‚ฌ๊ณ  ํ˜„ํ™ฉ ๋ถ„์„์„ ํ•ด๋ณด์ž๊ณ  ๊ฒฐ์ •!

โœ”๏ธ 1. ๋ถ€์‚ฐ ๋ฐ์ดํ„ฐ ์ €์žฅ

df_bs = df_all[df_all['๋ฐœ์ƒ์ง€์‹œ๋„'] == '๋ถ€์‚ฐ']
df_bs = df_bs.astype({'์‚ฌ๋ง์ž์ˆ˜':'int64'})
df_bs = df_bs.astype({'๋ถ€์ƒ์ž์ˆ˜':'int64'})

df_bs['์‚ฌ์ƒ์ž์ˆ˜'] = df_bs['์‚ฌ๋ง์ž์ˆ˜'] + df_bs['๋ถ€์ƒ์ž์ˆ˜']

df_bs.reset_index(drop=True, inplace=True)

# ๋ถ€์‚ฐ ๋ฐ์ดํ„ฐ ์—ฐ๋„๋ณ„๋กœ
bs_18 = df_18[df_18['๋ฐœ์ƒ์ง€์‹œ๋„'] == '๋ถ€์‚ฐ']
bs_19 = df_19[df_19['๋ฐœ์ƒ์ง€์‹œ๋„'] == '๋ถ€์‚ฐ']
bs_20 = df_20[df_20['๋ฐœ์ƒ์ง€์‹œ๋„'] == '๋ถ€์‚ฐ']
bs_21 = df_21[df_21['๋ฐœ์ƒ์ง€์‹œ๋„'] == '๋ถ€์‚ฐ']

bs_18 = bs_18.astype({'์‚ฌ๋ง์ž์ˆ˜':'int64'})
bs_19 = bs_19.astype({'์‚ฌ๋ง์ž์ˆ˜':'int64'})
bs_20 = bs_20.astype({'์‚ฌ๋ง์ž์ˆ˜':'int64'})
bs_21 = bs_21.astype({'์‚ฌ๋ง์ž์ˆ˜':'int64'})
bs_18 = bs_18.astype({'๋ถ€์ƒ์ž์ˆ˜':'int64'})
bs_19 = bs_19.astype({'๋ถ€์ƒ์ž์ˆ˜':'int64'})
bs_20 = bs_20.astype({'๋ถ€์ƒ์ž์ˆ˜':'int64'})
bs_21 = bs_21.astype({'๋ถ€์ƒ์ž์ˆ˜':'int64'})

bs_18.reset_index(drop=True, inplace=True)
bs_19.reset_index(drop=True, inplace=True)
bs_20.reset_index(drop=True, inplace=True)
bs_21.reset_index(drop=True, inplace=True)

๋ณด๋ฉด ์•Œ๊ฒ ์ง€๋งŒ ์œ„์—์„œ๋ถ€ํ„ฐ ์‹œ๊ฐํ™”๋ฅผ ์œ„ํ•œ ๋ณ€์ˆ˜ ์„ ์–ธ์„ ์—„์ฒญ ๋งŽ์ด ํ•ด์„œ .. ๋‚˜์ค‘๋˜์„œ๋Š” ์—„์ฒญ ํ—ท๊ฐˆ๋ฆฌ๊ณ  ์ •์‹ ์—†์—ˆ๋‹ค ์ง„์‹ฌ์œผ๋กœ ..


โœ”๏ธ 2. ๊ทธ๋ž˜ํ”„

# ์‚ฌ๋ง์ž์ˆ˜ ๊ทธ๋ž˜ํ”„
fig = px.bar(df_bs, x='๋ฐœ์ƒ๋…„', y='์‚ฌ๋ง์ž์ˆ˜')
fig.show()

# ๋ถ€์ƒ์ž์ˆ˜ ๊ทธ๋ž˜ํ”„
fig = px.bar(df_bs, x='๋ฐœ์ƒ๋…„', y='๋ถ€์ƒ์ž์ˆ˜')
fig.show()

๊ทธ๋ฆฌ๊ณ  .. ๋Œ€๋ง์˜ ๋ˆ„์ ๊ทธ๋ž˜ํ”„ ..

์›๋ž˜ plotly๋กœ ๊ทธ๋ฆฌ๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ ๊ตฌ๊ธ€๋ง์„ ์•„๋ฌด๋ฆฌ ํ•ด๋„ ๋ญ”์†Œ๋ฆฌ์ธ์ง€๋ฅผ ๋ชจ๋ฅด๊ฒ ๊ฑฐ๋‚˜ dataframe์„ ๋งŒ๋“ค์–ด์„œ ๊ทธ๋ฆฌ๋Š” ์˜ˆ์‹œ๋งŒ ์žˆ๊ฑฐ๋‚˜ ํ•˜๊ณ  ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฑด ๋ชป์ฐพ์•˜๋‹ค ..
๋‚ด๊ฐ€ ๊ทธ๋ฆฌ๋ ค๋Š”๊ฑด ์ด value๊ฐ€ ๋ฐ์ดํ„ฐ์— ์ฃผ์–ด์ ธ ์žˆ์ง€๋„ ์•Š์€ ์ปฌ๋Ÿผ๋“ค์ธ๋ฐ ์ด๊ฑฐ๋•œ์— ๋จธ๋ฆฌ๋ฅผ ์ฅ์–ด์งœ๋‹ค๊ฐ€ ๊ฒฐ๊ตญ์—” ๊ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค์—ˆ๋‹ค ...

mydata = df_bs[['์‚ฌ๋ง์ž์ˆ˜', '์ค‘์ƒ์ž์ˆ˜', '๊ฒฝ์ƒ์ž์ˆ˜']]

#mydata[:121].sum() -> 18๋…„
#mydata[121:236].sum() -> 19๋…„
#mydata[236:336].sum() -> 20๋…„
#mydata[336:].sum() -> 21๋…„

samang = [123, 116, 100, 113]
js = [22, 28, 16, 13]
gs = [41, 20, 15, 20]
year=["2018", "2019", "2020", "2021"]

plt.figure(dpi=150)
plt.bar(year, samang, color='red', label='์‚ฌ๋ง์ž')
plt.bar(year, js, color='green', bottom = np.array(samang), label='์ค‘์ƒ์ž')
plt.bar(year, gs, color='yellow', bottom = np.array(samang)+np.array(js), label='๊ฒฝ์ƒ์ž')
plt.legend(loc="lower left",bbox_to_anchor=(0.8,1.0))
plt.show()

์ด๋ ‡๊ฒŒ ............
sum์จ์„œ ์ด value๋ฅผ ๊ตฌํ•˜๊ณ  ๊ทธ ๊ฐ’์„ ๋ฆฌ์ŠคํŠธ์— ์ €์žฅํ•ด์„œ ๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆด๋•Œ 2์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์„œ ๊ทธ๋ฆฐ์…ˆ์ด๋‹ค .. ๊ทผ๋ฐ ์ด๊ฑธ groupby๋ฅผ ์“ฐ๋ฉด ๊ฑ ํ•ด๊ฒฐ์ด๋ผ๋‹ˆ ๋ˆˆ๋ฌผ์ด ๋‚ซ๋‹น ๋‹น์—ฐํ•จ ์š”๋”ฐ๊ตฌ ์ฝ”๋“œ๋กœ ๊ทธ๋ฆฐ ๊ทธ๋ž˜ํ”„๊ฐ€ ์•„์นจ 7์‹œ ๋„˜์–ด์„œ ์™„์„ฑ๋จ ์ด๊ฑฐ ๋‹ค ํ•˜๊ณ  ๊ณ ๋Œ€๋กœ ๋…ธํŠธ๋ถ ๋ฎ๊ณ  ์”ป๊ณ  ์ถœ๊ทผํ–‡๋‹ค .......


์šฐ๋ฆฌ์กฐ๊ฐ€ ๋ถ€์‚ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์•Œ๊ณ  ์‹ถ์—ˆ๋˜ ๊ฒƒ์ด 2021๋…„์— ์‚ฌ์ƒ์ž์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•œ ์ด์œ ๋‹ˆ๊นŒ ์ด์™€ ์—ฐ๊ด€๋œ ๊ฒƒ์ด ๋ฌด์—‡์ด ์žˆ์„๊นŒ ๊ณ ๋ฏผ์„ ํ•ด๋ณด์•˜๋‹ค.

  1. ์ฝ”๋กœ๋‚˜ ์‚ฌํšŒ์  ๊ฑฐ๋ฆฌ๋‘๊ธฐ์™€์˜ ์—ฐ๊ด€์„ฑ
  2. 2021๋…„ ์‚ฌ๋ง์ž์ˆ˜ ์ฆ๊ฐ€ ์›์ธ์œผ๋กœ ํŒŒ์•…๋˜์–ด์ง€๋Š” ๋ถ€์‚ฐ์™ธ๊ณฝ์ˆœํ™˜๊ณ ์†๋„๋กœ๊ฐ€ ์ •๋ง ์ฆ๊ฐ€ ์›์ธ์ผ๊นŒ?
  3. ์•ˆ์ „์†๋„ 5030 ์ •์ฑ…

์ด ์„ธ๊ฐ€์ง€๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํŒŒ์•…ํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๊ณ  ๊ฒฐ๊ณผ์ ์œผ๋กœ๋Š” 2๋ฒˆ ๋ง๊ณ ๋Š” ๋ฏธ๊ถ์†์œผ๋กœ ๋น ์ง€๊ฒŒ๋˜์—ˆ๋‹ค .. ๊ทผ๋ฐ ๊ทธ๊ฑด ๊ถŒ๊ต์ˆ˜๋‹˜๋„ค์กฐ๊ฐ€ ํ•ด๊ฒฐํ•ด์„œ .......
์ผ๋‹จ 1๋ฒˆ์€ ๊ทธ๋ž˜ํ”„๊ฐ€ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๋Œ€๋กœ ๊ทธ๋ ค์ง€์ง€ ์•Š์•„์„œ ๊ทธ๋ž˜ํ”„๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ๊ทธ๋ ค๋ณผ ์ˆ˜ ๋ฐ–์— ์—†์—ˆ๋‹ค. 3๋ฒˆ์€ ์‚ฌ์‹ค ์†”์งํ•˜๊ฒŒ ๋งํ•˜์ž๋ฉด 1๋ฒˆ์ด ๋ฏธ๊ถ์œผ๋กœ ๋น ์ง€์ž(์ฒ˜์Œ์—๋Š” 2๋ฒˆ๋„ ๋ฏธ๊ถ์ด์—ˆ๋‹ค ....) ๋ญ ๋” ํ•  ๊ฑฐ ์—†๋‚˜?ํ•˜๋‹ค๊ฐ€ ์ถ”๊ฐ€ ๋œ ๊ฑฐ ์˜€๊ณ  ๋‚ด๊ฐ€ ์ž๋ฃŒ์กฐ์‚ฌํ•˜๋ฉด์„œ ๋ฐ›์•„๋†“์€ ์•ˆ์ „ํ‘œ์ง€ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์–ด์„œ ๊ทธ๊ฑธ ์ง€๋„ ์‹œ๊ฐํ™”๋ฅผ ํ•ด๋ณด๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๋ฐ์ดํ„ฐ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„์„œ!! ๊ฒฐ๊ตญ ๊ทธ๋ ค์ง€์ง€ ์•Š์•˜๋‹ค.
๊ทธ ์™ธ์—๋„ ๋ญ ๋” ํ•˜๋ ค๊ณ  ํ–ˆ๋˜ ํ›„๋ณด๋“ค๋„ ์žˆ์—ˆ์œผ๋‚˜ .. ์‹œ๊ฐ„๊ด€๊ณ„์ƒ ...


1. ์ฝ”๋กœ๋‚˜ ์‚ฌํšŒ์  ๊ฑฐ๋ฆฌ๋‘๊ธฐ์™€์˜ ์—ฐ๊ด€์„ฑ

df_bs['๋ฐœ์ƒ์›”'] =  df_bs['๋ฐœ์ƒ๋…„์›”์ผ'].dt.month
df_bs['๋ฐœ์ƒ๋…„์›”'] = pd.to_datetime(df_bs['๋ฐœ์ƒ๋…„์›”์ผ']).dt.to_period('M')

df_bs = df_bs.astype({'๋ฐœ์ƒ๋…„์›”':'str'})
df_bs = df_bs.astype({'๋ฐœ์ƒ์›”':'str'})

์ฝ”๋กœ๋‚˜์™€์˜ ์—ฐ๊ด€์„ฑ์„ ๋ณด๊ธฐ ์œ„ํ•œ ์‹œ๊ฐํ™”๋ฅผ ์œ„ํ•ด ๋ฐœ์ƒ๋…„์›”๊ณผ ๋ฐœ์ƒ์›”์ด๋ผ๋Š” ์ปฌ๋Ÿผ์„ ๋”ฐ๋กœ ์ƒ์„ฑํ–ˆ๋‹ค.

# ๋ฐœ์ƒ๋…„์›”๋ณ„ ์‚ฌ๋ง์ž์ˆ˜ ํ˜„ํ™ฉ
fig = px.bar(df_bs, x='๋ฐœ์ƒ๋…„์›”', y='์‚ฌ๋ง์ž์ˆ˜', color='๋ฐœ์ƒ์›”')
fig.show()

์›๋ž˜ ์ด ๊ทธ๋ž˜ํ”„๋ฅผ ์‚ฌํšŒ์  ๊ฑฐ๋ฆฌ๋‘๊ธฐ ์™„ํ™”๊ธฐ๊ฐ„๊ณผ ๊ฐ•ํ™”๊ธฐ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์ƒ‰์„ ๊ตฌ๋ถ„ํ•˜๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ ์‹คํŒจํ–ˆ๋‹ค. ํ•ด์„œ ์ผ๋‹จ ๋ฐœ์ƒ์›”๋กœ ๊ตฌ๋ถ„ํ•ด๋ณธ ๊ฒฐ๊ณผ์ด๋‹ค.
๋ณด๋ฉด 2020๋…„ 2,3์›”์ด ๋‹ค๋ฅธ ๋…„๋„์— ๋น„ํ•ด ์ ๋‹ค. ๊ฐ™์€ ํ•ด 1์›”ํ•˜๊ณ ๋งŒ ๋น„๊ตํ•ด๋„ ํ™•์—ฐํžˆ ์ฐจ์ด๊ฐ€ ๋‚˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜‘๊ฐ™์ด ์ฝ”๋กœ๋‚˜ ๋ฐœ์ƒ ์ดํ›„์ธ 21๋…„ํ•˜๊ณ  ๋น„๊ตํ•ด๋ด๋„ ์ ๋‹ค. ๊ทธ๋Ÿผ 21๋…„์€ ์™œ์ด๋ ‡๊ฒŒ ์ฆ๊ฐ€ํ–ˆ๋‚˜? ์›๋ž˜ 2.5๋‹จ๊ณ„์ด๋˜ ๊ฑฐ๋ฆฌ๋‘๊ธฐ๊ฐ€ 21๋…„ 1์›” 24์ผ 2๋‹จ๊ณ„๋กœ ๊ฒฉํ•˜ํ•˜์˜€๊ณ  2์›” 15์ผ๋ถ€ํ„ฐ 3์›” 31์ผ๊นŒ์ง€๋Š” 1.5๋‹จ๊ณ„์ธ ์‚ฌํšŒ์  ๊ฑฐ๋ฆฌ๋‘๊ธฐ ์™„ํ™”๊ธฐ๊ฐ„์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 4์›” 1์ผ๋ถ€ํ„ฐ 2๋‹จ๊ณ„๋กœ ๊ฒฉ์ƒํ•˜์ž ํ›… ์ค„์–ด๋“ค์—ˆ๋‹ค. ๋‹ค๋ฅธ ๋…„๋„ 4์›”ํ•˜๊ณ  ๋น„๊ตํ•ด๋„ ํ™•์—ฐํžˆ ์ ๋‹ค.
๊ทธ ํ›„ 5์›” 21์ผ๋ถ€ํ„ฐ 8์›” 9์ผ๊นŒ์ง€ 1.5๋‹จ๊ณ„๋กœ ๊ฒฉํ•˜๋˜์—ˆ๊ณ  ์ด๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋ฉด ๋˜ ์ฆ๊ฐ€ํ•œ๋‹ค. ๊ทธ ํ›„ 8์›” 10์ผ๋ถ€ํ„ฐ 4๋‹จ๊ณ„๋กœ ๊ฒฉ์ƒ๋˜์—ˆ๋Š”๋ฐ ์ข€ ์ค„์–ด๋“ค๋‹ค๊ฐ€ 10์›”๋ถ€ํ„ฐ๋Š” ๋˜ ์ฆ๊ฐ€ํ•œ๋‹ค. ํ•ด์„œ 4๋‹จ๊ณ„๊ฐ€ 6์‹œ๊นŒ์ง€๋Š” 4์ธ ๋ชจ์ž„์ด ๊ฐ€๋Šฅํ•˜๊ณ  ๊ทธ ํ›„ 10์‹œ๊นŒ์ง€๋Š” 2์ธ๊นŒ์ง€๋งŒ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด ์˜ํ–ฅ์„ ๋ผ์น˜์ง€ ์•Š์•˜์„๊นŒ ํ•ด์„œ ๋‹ฌ๋ณ„ ๋ฐœ์ƒ์‹œ๊ฐ„์„ ๋น„๊ตํ•ด๋ณด์•˜๋‹ค.

21๋…„๋„ ๋ฐ์ดํ„ฐ๋งŒ ๋น„๊ตํ•œ ๊ฒƒ์ด๋‹ค.
ํ•˜ .. ๋ณด๋ฉด ์•Œ๊ฒ ์ง€๋งŒ ์ „ํ˜€ ์—ฐ๊ด€์—†๋‹ค.
๊ทผ๋ฐ ์ด๊ฑฐ์“ฐ๋‹ค๊ฐ€ ๋ˆˆ์น˜์ฑˆ๊ฑด๋ฐ 0์‹œ ๋ฐ์ดํ„ฐ ์–ด๋””๊ฐ”๋ƒ ...........
ํ•˜ ๊ฑ spss๋ž‘ R๋กœ ํ†ต๊ณ„๋ถ„์„ ํ•  ๋•Œ๊ฐ€ ๊ทธ๋ฆฝ๋‹ค....
spss๋Š” ์ฝ”๋“œ๊ฐ€ ๋ญ์ž„ ๊ฑ ๋ฒ„ํŠผ๋งŒ ๋ˆ„๋ฅด๋ฉด ํ‘œ ๋”ฑ ๊ทธ๋ ค์ฃผ๊ณ  ๊ทธ๋ž˜ํ”„ ๊ทธ๋ ค์ฃผ๊ณ  ํ™•๋ฅ ์ด๋ž‘ ๊ณ„์ˆ˜๋ž‘ ๊ณ„์‚ฐ ๋‹ค ํ•ด์ฃผ๊ณ  ๋‚˜๋Š” ๊ทธ๋ƒฅ ๊ทธ ์ˆซ์ž๋ณด๊ณ  ๊ฒฐ๋ก ๋งŒ ๋‚ด๋ฉด ๋˜๋Š”๋ฐ ..
๋ณตํ•™ํ•ด์„œ ํ†ต๊ณ„๋ถ„์„ํ•˜๋ฉด ์•„ ๊ต์ˆ˜๋‹˜ ์ด๊ฑด ๊ฐœ๊ปŒ์ด์ฃ  ใ…‹ ํ•˜๋ฉด์„œ ์›ƒ์œผ๋ฉด์„œ ํ•  ์ˆ˜ ์žˆ์„ ๊ฑฐ ๊ฐ™๋‹ค ...................
์˜ฌ ์ดˆ๊นŒ์ง€๋งŒ ํ•ด๋„ ๋‚  ๊ดด๋กญํžˆ๋˜ ์ƒ๊ด€๋ถ„์„๊ณผ ํšŒ๊ท€๋ถ„์„์„ ๊ทธ๋ฆฌ์›Œํ•  ์ค„์€ ๋ชฐ๋ž๋‹ค
์•”ํŠผ .. ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๊ณ  ๊ฒฐ๋ก ์ด ๋‚˜์ง€ ์•Š์•„ 10์›”๋ถ€ํ„ฐ 12์›”๊นŒ์ง€๋Š” ๊ฑ ์‚ฌ๋žŒ๋“ค์ด ์—ฐ๋ง์ด๋ผ๊ณ  ๋ถ€์‚ฐ ๋†€๋Ÿฌ๊ฐ€์„œ ์‚ฌ๊ณ ๋‚œ ๊ฑฐ ์•„๋‹๊นŒ ํ•˜๋Š” ๊ทธ์ง€๊ฐ™์€ ์ถ”์ธก๋งŒ ๋‚ณ์•˜๋‹ค ..................


2. ๋ถ€์‚ฐ์™ธ๊ณฝ์ˆœํ™˜๊ณ ์†๋„๋กœ๊ฐ€ ์ฆ๊ฐ€ ์›์ธ์ด๋ผ๋Š” ๊ฐ€์„ค ์ฆ๋ช…

์ด๊ฑด ํžˆํŠธ๋งต์„ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์˜ค๋ฅธ์ชฝ ์•„๋ž˜๊ฐ€ 21๋…„๋„์ธ๋ฐ ๋‹ค๋ฅธ ๋…„๋„๋ณด๋‹ค ๋” ์‚ฌ๊ณ ๊ฐ€ ๋‚œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์‚ฌ๊ณ ๋‹ค๋ฐœ์ง€์—ญ์ด๋ผ๋Š” ์—ฐ์‚ฐ๋กœํ„ฐ๋ฆฌ๋„ ํ•œ๋ฒˆ ๋ด๋ณด๋ฉด

์—ฌ๊ธฐ๋Š” ์˜คํžˆ๋ ค 21๋…„๋„์—๋Š” ์‚ฌ์ƒ์ž์ˆ˜๊ฐ€ ๋‚˜์˜จ ์‚ฌ๊ณ ๋Š” ์•ˆ๋‚ฌ๋‹ค.

3. ์•ˆ์ „์†๋„ 5030

์ด๋Š” ์œ„์—์„œ๋„ ์„ค๋ช…ํ–ˆ๋“ฏ ์ง€๋„์‹œ๊ฐํ™”์— ์‹คํŒจํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ๋„ ์‚ฌ์ƒ์ž๊ฐ€ ์ฆ๊ฐ€ํ–ˆ๋‹ค๋Š” ๊ทธ๋ž˜ํ”„๋‚˜ ํžˆํŠธ๋งต์œผ๋กœ๋งŒ ๋ด๋„ ์„ค๋ช…์ด ๊ฐ€๋Šฅํ•˜๊ธด ํ•˜๋‹ค.
์›๋ž˜ ์ด๊ฒƒ๋„ ๋ฐœํ‘œ ๋•Œ ๋งํ–ˆ์–ด์•ผ ํ–ˆ๋Š”๋ฐ ๊นœ๋นกํ–ˆ๋‹ค ...

์œ„์—๋Š” 20๋…„๋„ ์•„๋ž˜๋Š” 21๋…„๋„์ธ๋ฐ ์ด๊ฑฐ๋ณด๋ฉด ๊ผญ ๋ถ€์‚ฐ์™ธ๊ณฝ์ˆœํ™˜๋„๋กœ๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ๋„๋กœ์—์„œ ์‚ฌ๊ณ ๊ฐ€ ๋งŽ์ด ๋‚ฌ๋˜ ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.



๊ณผ์ œ ๋ฆฌ๋ทฐ ๋ ..

0๊ฐœ์˜ ๋Œ“๊ธ€