๊ด€๋ฆฌ ๋ฉ”๋‰ด

yeon's ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป

[์ „๊ตญ ๋„์‹œ ๊ณต์› ํ‘œ์ค€ ๋ฐ์ดํ„ฐ] ํŠน์ • ๊ณต์› ์‹œ๊ฐํ™” ๋ณธ๋ฌธ

Computer ๐Ÿ’ป/๋ฐ์ดํ„ฐ ๋ถ„์„

[์ „๊ตญ ๋„์‹œ ๊ณต์› ํ‘œ์ค€ ๋ฐ์ดํ„ฐ] ํŠน์ • ๊ณต์› ์‹œ๊ฐํ™”

yeon42 2021. 8. 13. 01:02
728x90

4.4 ํŠน์ • ๊ณต์›๊ตฌ๋ถ„ ๊ฐ€์ ธ์˜ค๊ธฐ

 

  • ๊ณต์›๊ตฌ๋ถ„ ๋นˆ๋„์ˆ˜ ๊ตฌํ•˜๊ธฐ
df["๊ณต์›๊ตฌ๋ถ„"].value_counts()

 

 

 

 

  • ํŠน์ • ํ…์ŠคํŠธ๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ณต์›๋งŒ ๊ฐ€์ ธ์˜ค๊ธฐ: str.match
park_type = r'.*((์—ญ์‚ฌ|์ฒด์œก|์ˆ˜๋ณ€|๋ฌธํ™”)๊ณต์›).*'

park = df[df["๊ณต์›๊ตฌ๋ถ„"].str.match(park_type)]
park.shape

  - . : ๋ชจ๋“  ๋ฌธ์ž

  - * : 0๋ฒˆ ์ด์ƒ ๋ฐ˜๋ณต

  -->  .* : ๋ชจ๋“  ๋ฌธ์ž๊ฐ€ 0๋ฒˆ ์ด์ƒ ๋ฐ˜๋ณต๋œ๋‹ค.

 

 

 

 

var_numbers

 

 

 

 

 

  • ๋ฆฌ์ŠคํŠธ์— "๊ณต์›๊ตฌ๋ถ„" ์›์†Œ ์ถ”๊ฐ€ํ•˜๊ธฐ -> "๊ณต์›๊ตฌ๋ถ„"์— ๋”ฐ๋ผ ์ƒ‰์ƒ ๋‹ค๋ฅด๊ฒŒ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด
  • ๋ฆฌ์ŠคํŠธ์˜ ์›์†Œ ์ œ๊ฑฐํ•˜๊ธฐ
var_pair = var_numbers
var_pair.append("๊ณต์›๊ตฌ๋ถ„")

var_pair.remove("์ง€์ •๊ณ ์‹œ์ผ")
var_pair.remove("๊ณ ์‹œ์—ฐ๋„")
var_pair.remove("๊ณ ์‹œ์›”")

var_pair

 

 

 

 

 

  • var_pair ๋ฆฌ์ŠคํŠธ๋กœ pairplot ๊ทธ๋ฆฌ๊ธฐ
sns.pairplot(park[var_pair], hue="๊ณต์›๊ตฌ๋ถ„")

  - var_pair์— ๋‹ด๊ธด ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š” ์ปฌ๋Ÿผ์„ ์‚ฌ์šฉํ•ด ๊ทธ๋ฆผ์„ ๊ทธ๋ฆฐ๋‹ค.

 

 

 

 

 


 

 

4.5 ํ”ผ๋ด‡ํ…Œ์ด๋ธ”๋กœ ์‹œ๋„๋ณ„ ๊ณต์›์ˆ˜์™€ ํ‰๊ท ๋ฉด์  ๊ตฌํ•˜๊ธฐ

 

park_size = pd.pivot_table(df, index="์‹œ๋„", values="๊ณต์›๋ฉด์ ", aggfuc=["count", "mean", "median"])
park_size.style.background_gradient()

 

 

 

 


 

 

4.6 ๋‚ด๊ฐ€ ์‚ฌ๋Š” ์ง€์—ญ์˜ ๊ณต์›์„ ์ง€๋„์— ํ‘œ์‹œํ•ด๋ณด๊ธฐ

 

  • ๊ฒฝ๊ธฐ๋„ ์„ฑ๋‚จ์‹œ์— ์œ„์น˜ํ•œ ๊ณต์›๋งŒ ์ถœ๋ ฅํ•˜๊ธฐ
df_sn = df[(df["์‹œ๋„"] == "๊ฒฝ๊ธฐ๋„") & (df["๊ตฌ๊ตฐ"] == "์„ฑ๋‚จ์‹œ")]

 

 

4.6.1 ํŠน์ • ๊ณต์› ์ •๋ณด ์ฐพ์•„๋ณด๊ธฐ

 

  • ํŒ๊ต์˜ ํ™”๋ž‘๊ณต์› ์ฐพ์•„๋ณด๊ธฐ
df_sn.loc[df_sn["๊ณต์›๋ช…"].str.contains("ํ™”๋ž‘"), ["๊ณต์›๋ช…", "์œ„๋„", "๊ฒฝ๋„"]]

 

 

 

 

  • ํŠน์ • ์ปฌ๋Ÿผ๋งŒ ๋ถˆ๋Ÿฌ์™€์„œ ๋ณด๊ธฐ
cols = "๊ณต์›๋ณด์œ ์‹œ์„ค(์šด๋™์‹œ์„ค)	๊ณต์›๋ณด์œ ์‹œ์„ค(์œ ํฌ์‹œ์„ค)	๊ณต์›๋ณด์œ ์‹œ์„ค(ํŽธ์ต์‹œ์„ค)	๊ณต์›๋ณด์œ ์‹œ์„ค(๊ต์–‘์‹œ์„ค)"
cols = cols.split("\t")

df_sn.loc[df_sn["๊ณต์›๋ช…"].str.contains("ํ™”๋ž‘"), cols]

 

 

 

 


 

4.6.2 ์ง€๋„์— ํ‘œํ˜„ํ•˜๊ธฐ

 

import folium

m = folium.Map([37.397084, 127.106226], zoom_start=13)

for n in df_sn.index:
	lat = df_sn.loc[n, "์œ„๋„"]
    long = df_sn.loc[n, "๊ฒฝ๋„"]
    tooltip = df_sn.loc[n, "๊ณต์›๋ช…"] + " - " + df_sn.loc[n, "์†Œ์žฌ์ง€๋„๋กœ๋ช…์ฃผ์†Œ"]
    folium.Marker([lat, long], tooltip=tooltip).add_to(m)

m.save('index.html')
m

 

Comments