1. 기업맞춤형 빅데이터 분석가 양성과정 소개
2. 기업맞춤형 빅데이터 분석가 양성과정 노트목록
https://crosefrog.tistory.com/entry/20210104-%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D%EA%B0%80-%EC%96%91%EC%84%B1%EA%B3%BC%EC%A0%95-4%EC%9D%BC%EC%B0%A8-%EB%85%B8%ED%8A%B8
https://crosefrog.tistory.com/entry/20240105-%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D%EA%B0%80-%EC%96%91%EC%84%B1%EA%B3%BC%EC%A0%95-5%EC%9D%BC%EC%B0%A8-%EB%85%B8%ED%8A%B8
https://crosefrog.tistory.com/entry/20240109-%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D%EA%B0%80-%EC%96%91%EC%84%B1%EA%B3%BC%EC%A0%95-7%EC%9D%BC%EC%B0%A8-%EB%85%B8%ED%8A%B8
https://crosefrog.tistory.com/entry/20240111-%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D%EA%B0%80-%EC%96%91%EC%84%B1%EA%B3%BC%EC%A0%95-9%EC%9D%BC%EC%B0%A8-%EB%85%B8%ED%8A%B8
https://crosefrog.tistory.com/entry/20240115-%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D%EA%B0%80-%EC%96%91%EC%84%B1%EA%B3%BC%EC%A0%95-11%EC%9D%BC%EC%B0%A8-%EB%85%B8%ED%8A%B8
https://crosefrog.tistory.com/entry/20240116-%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D%EA%B0%80-%EC%96%91%EC%84%B1%EA%B3%BC%EC%A0%95-12%EC%9D%BC%EC%B0%A8-%EB%85%B8%ED%8A%B8
3. Notion 일과 삶 & 빅데이터 분석가 양성과정 대시보드
https://lifemoment.notion.site/497bff9488aa4dec9171d08224a7a978?pvs=4
4. Google Colaboratory Notebook
https://colab.research.google.com/drive/1FymjutQ7loFd2cYAo-jCr1tu_FGNF0Zq#scrollTo=1b6Kj6ujSesN
5. Naver 블로그 포스팅
https://blog.naver.com/moment_by_moment/223326881747
6. 필기노트
둘째마당- 데이터 시각화 기초
1번
import csv
import matplotlib.pyplot as plt
f = open('서울.csv', 'r', encoding='cp949')
data = csv.reader(f)
next(data)
high = []
low = []
year =[]
for row in data :
if row[-1] != '' and row[-2] != '':
if 1981 <= int(row[0].split('-')[0]) :
if row[0].split('-')[1] == '09' and row[0].split('-')[2] == '30':
high.append(float(row[-1]))
low.append(float(row[-2]))
year.append(int(row[0].split('-')[0]))
plt.title('기온 변화 그래프(9월 30일)')
plt.plot(year, high, 'r', label='최고')
plt.plot(year, low, 'b', label='최저')
plt.legend()
plt.show()
2번
import csv
import matplotlib.pyplot as plt
f = open('서울.csv', 'r', encoding='cp949')
data = csv.reader(f)
next(data)
aug = []
jan = []
year =[]
for row in data :
month = row[0].split('-')[-1]
if row[-1] != '' :
if month == '08' :
aug.append(float(row[-1]))
if month == '01' :
jan.append(float(row[-1]))
plt.rcParams['axes.unicode_minus'] = False
plt.title('1월과 8월의 최고 기온 분포')
plt.hist(jan, bins=100, color='b', label='1월')
plt.hist(aug, bins=100, color='r', label='8월')
plt.legend()
plt.show()
3번
import csv
import matplotlib.pyplot as plt
f = open('서울.csv', 'r', encoding='cp949')
data = csv.reader(f)
next(data)
month = [[], [], [], [], [], [], [], [], [], [], [], []]
for row in data :
if row[-1] != '' :
month[int(row[0].split('-')[1]) -1].append(float(row[-1]))
plt.style.use('ggplot')
plt.figure(figsize=(10, 5), dpi=300)
plt.boxplot(month, showfliers=False)
plt.rcParams['axes.unicode_minus'] = False
plt.title('월별 최고 기온 데이터 분포')
plt.legend()
plt.show()
import csv
import matplotlib.pyplot as plt
f = open('서울.csv', encoding='cp949')
data = csv.reader(f)
next(data)
high = []
low = []
year = []
for low in data:
if row[-1]
lst = ['k','i','s','s','k','e','y']
output = {
'k':0,
'i':0,
's':0
}
print(output)
print('k' in output)
print('a' in output)
=>
{'k': 0, 'i': 0, 's': 0}
True
False
output['a'] = 0 # 딕셔너리에 요소추가
print(output)
=> {'k': 0, 'i': 0, 's': 0, 'a': 0}
lst = ['k','i','s','s','k','e','y']
output ={}
if 'a' in output:
output['a'] += 1
else:
output['a'] = 1
print('a' in output, output['a'])
=> True 1 # 반복 출력할수록 1씩 증가함
lst = [2000, 2000, 2001, 2001, 2001]
dic = {}
for key in lst:
if key in dic:
dic[key] += 1
else:
dic[key] = 1
print(dic)
=> {2000: 2, 2001: 3}
lst = [1, 2, 3, 4, 1, 2, 3, 1, 4, 1, 2, 3]
output = {}
for x in lst:
if x in output:
output[x] += 1
else:
output[x] = 1
print(output)
=> {1: 4, 2: 3, 3: 3, 4: 2}
- 리스트 요소 중복 수 출력 및 최대 값 산출
lst = ['사과', '포도', '복숭아', '수박', '참외', '바나나', '딸기', '딸기', '복숭아', '멜론', '수박', '참외', '앵두', '사과', '사과', '수박', '귤', '감', '배', '참외', '딸기', '파인애플', '배', '딸기', '참외','사과', '수박', '귤', '감', '배', '참외', '딸기', '파인애플', '배', '딸기', '참외', '사과', '수박', '귤', '감', '배', '참외', '딸기', '파인애플', '배', '딸기', '참외', '수박', '감', '복숭아', '자두', '감', '복숭아', '자두', '감', '복숭아', '자두', '감', '복숭아', '자두', '감', '복숭아', '자두', '감', '복숭아', '자두', '감', '복숭아', '자두', '감', '복숭아', '자두' ]
output = {}
for x in lst:
if x in output:
output[x] += 1
else:
output[x] = 1
print(output)
# 최대값 산출
max_key = max(output, key=output.get)
print(max_key, output[max_key])
=> {'사과': 5, '포도': 1, '복숭아': 10, '수박': 6, '참외': 8, '바나나': 1, '딸기': 8, '멜론': 1, '앵두': 1, '귤': 3, '감': 11, '배': 6, '파인애플': 3, '자두': 8}
=> 감 11
import csv
f = open('서울.csv', encoding='cp949')
data = csv.reader(f)
next(data) # 헤더 제거
#이터레이터 형 데이터를 리스트로 변경
data_lst = list(data)
f.close()
%page data_lst # 해당 객체를 보여준다.
# 결측치 제거 - (일) '평균 온도' 값이 누락된 행 제거
data_wo_lst = []
for data in data_lst:
if data[-3] == '':
continue
data_wo_lst.append(data)
# for data in data_wo:
# if data[-3] == '':
# print('평균 기온 항목에 결측치 있음')
%page data_wo_lst
#'날짜'(년월일)를 나타내는 문자열에 붙은 '\\t'를 제거하고
# year : 년도 데이터만 정수로 변경
# mean_temp : (일)'평균 기온' 데이터를 숫자형(실수)으로 변경
target_data_lst = []
for data in data_wo_lst:
year = int( data[0].strip('\\t').split('-'[0])
mean_temp = float( data[2])
target_data_lst.append((year, mean_temp))
%page target_data_lst
# 데이터를 연도 별로 정리
# 1907년 10월 1일부터 2024년 1월 16일까지 정보이므로
# 년 평균 기온을 계산하기 위해 1907년과 2024년 제외
mean_temp_dic_per_year = {}
for year, mean_temp in target_data_lst:
if year in [1907, 2024]:
continue
if year in mean_temp_lst_per_year:
mean_temp_dic_per_year[year].append(mean_temp)
else:
mean_temp_dic_per_year[tear] = [mean_temp]
# dic = {}
# dic = [1908] = [2.7]
# dic = { 1908:[2.7]}
# dic[1908].append(3.4)
%page mean_temp_dic_per_year
lst = mean_temp_lst_per_year[1908]
%page lst
# 1907년, 2024년을 제외하고 나머지 연도내에서 결측값이 있을 수 있다.
mean_temp_lst = []
year_lst = []
day_count_lst = []
#########################
for year in mean_temp_lst_per_year.keys():
day_count = len(mean_temp_lst_per_year[year])
mean_temp_lst.append( sum(mean_temp_lst_per_year
import matplotlib.pyplot as plt
import koreanize_matplotlib
plt.plot(year_lst, mean_temp_lst)
plt.xlabel('년도')
plt.title('년 평균 기온')
plt.grid()
plt.show()
아침에 일어나서 수업 듣고, 식사하고, 공부하는 루틴
만약, 일상이 평범하지 않다면 단조로운 일상이 행복할 순 있지만,
계속 반복되다보면 지루하다. → 적절한 취미가 있는 것이 좋다.
고등학생 때, 사촌형이 동생들을 데리고 북한산을 다녀왔었다.
신나진 않았지만, 재미었다.
20대 초반에는 음료값과 교통비만 있으면 다녀올 수 있다.
30 무렵에 인라인스케이트를 구입해서 학교로 와서 30분 정도 굴렀다.
우연한 계기로 낚시를 가게 되었다.
→ 바닷가에서 놀았다.
한동안 놀러갔었다. (1달에 4번 이상)
월급쟁이는 놀아도 돈이 나오지만, 개인사업자는 놀면 돈이 안나온다.
- 요점: 취미생활 하나 정도 있으면 인생이 즐겁다.
게임을 좋아했다.
석사 과정 때 스타크래프트를 했었다.
- 재밌어서
- 불안해서
위 2가지 이유로 게임을 하게 되었다.
박사 과정부터 강의를 다녔다.
대학원생들과 함께 방을 사용하다보니, 게임을 안 하게 되었다.
옛날엔 혼자서 낚시를 다녔지만, 지금은 다니지 않는다.
안동에서 바다가 은근히 멀다.
요점: 단조롭고, 묵직한 생활을 계속 하게 되므로, 멘탈관리가 중요하다.
생일날 기온변화를 그래프로 그려본다.
import csv
f = open('서울.csv', encoding='cp949')
data = csv.reader(f)
next(data) # 헤더 제거
max_temp_list =[] # 최고 기온 데이터를 저장하기 위해 미리 빈 리스트 생성
for row in data:
# 누락된 데이터가 아닐 경우(데이터가 있을 경우)
if row[-1] != '':
# row[-1]은 문자열 데이터임으로 float() 함수를 사용하여 숫자형 데이터로 변환 후 저장
max_temp_list.append(float(row[-1]))
f.close()
print(max_temp_list)
print( len(max_temp_list) )
import matplotlib.pyplot as plt
plt.plot(max_temp_list, 'r')
plt.show()
plt.figure(figsize=(16, 4))
plt.plot(max_temp_list, 'r')
plt.show()
'부산.csv' 파일에서 구한 데이터는 아래와 같은 형태의 데이터입니다.
['\\t2009-06-14', '159', '20.2', '18.2', '23.8']
위 리스트에서 날짜에 해당하는 정보는 첫 번째 요소로 단순 문자열로 기록되어 있습니다.
'\\t2009-06-14'
에서 년, 월, 일 정보를 추출하려고 합니다. 먼저 replace()함수를 사용하여 '\\t2009-06-14'에서 \\t을 제거하겠습니다.
date = '\\t2009-06-14'
date = date.replace('\\t', '')
print(date)
=> 2009-06-14
ymd = date.split('-')
print(ymd)
=> ['2009', '06', '14']
print(ymd[0]) # 년 : year
print(ymd[1]) # 월 : month
print(ymd[2]) # 일 : day
=>
2009
06
14
import csv
f = open('서울.csv', encoding='cp949')
data = csv.reader(f)
next(data)
max_temp_list =[]
for row in data:
if row[-1] != '': # 누락된 데이터가 아닐 경우(데이터가 있을 경우)
if row[0].split('-')[1] == '08': # ['\\t2009-06-14', '159', '20.2', '18.2', '23.8']
max_temp_list.append(float(row[-1])) # row[-1]은 문자열 데이터임으로 float() 함수를 사용하여 숫자형 데이터로 변환 후 저장
f.close()
plt.figure(figsize=(16, 4))
plt.plot(max_temp_list, 'r')
plt.show()
import csv
f = open('서울.csv', encoding='cp949')
data = csv.reader(f)
next(data)
max_temp_list =[]
for row in data:
if row[-1] != '': # 누락된 데이터가 아닐 경우(데이터가 있을 경우)
if row[0].split('-')[1] == '01' and row[0].split('-')[2] =='24':
max_temp_list.append(float(row[-1])) # row[-1]은 문자열 데이터임으로 float() 함수를 사용하여 숫자형 데이터로 변환 후 저장
f.close()
plt.figure(figsize=(16, 4))
plt.plot(max_temp_list, 'b.-')
plt.title('max. temp of January 24 every year')
plt.ylabel('temp')
plt.grid()
plt.show()
매년 생일 날의 최고 기온과 최저 기온을 하나의 그림(figure)에 나타내는 코드를 작성하세요.
import csv
f = open('서울.csv', encoding='cp949')
data = csv.reader(f)
next(data)
max_temp_list =[]
min_temp_list = []
for row in data:
if row[-1] != '' and row[-2] != '': # 누락된 데이터가 아닐 경우(데이터가 있을 경우)
if row[0].split('-')[1] == '01' and row[0].split('-')[2] =='24':
max_temp_list.append(float(row[-1])) # row[-1]은 문자열 데이터임으로 float() 함수를 사용하여 숫자형 데이터로 변환 후 저장
min_temp_list.append(float(row[-