본문 바로가기
Data Analysis/Data Analysis

모두의 데이터분석 with 파이썬 : 2. 데이터 시각화 기초

by SeleniumBindingProtein 2022. 4. 3.
728x90
반응형
#!/usr/bin/env python
# coding: utf-8

#기본 그래프 그리기

# In[1]:


import matplotlib.pyplot as plt
plt.plot([10,20,30,40])
plt.show()


# In[2]:


import matplotlib.pyplot as plt
plt.plot([1,2,3,4], [12,43,25,15])
plt.show()


# In[3]:


import matplotlib.pyplot as plt
plt.title('plotting')
plt.plot([10,20,30,40])
plt.show()


# In[9]:


import matplotlib.pyplot as plt
plt.title('legend')
plt.plot([10,20,30,40], label='asc')
plt.plot([40,30,20,10], label='desc')
plt.legend()
plt.show()


# In[12]:


import matplotlib.pyplot as plt
plt.title('legend')
plt.plot([10,20,30,40], label='asc')
plt.plot([40,30,20,10], label='desc')
plt.legend(loc=5)
plt.show()


# In[13]:


import matplotlib.pyplot as plt
plt.title('color')#제목설정
plt.plot([10,20,30,40],color='skyblue', label='skyblue')
plt.plot([40,30,20,10],'pink', label='pink')
plt.legend()#범례표시
plt.show()


# In[23]:


import matplotlib.pyplot as plt
plt.title('linestyle')#제목설정
#빨간색 dashed 그래프
plt.plot([10,20,30,40],'r-', label='dashed')
#초록색 dotted 그래프 
plt.plot([40,30,20,10],'g:', label='dotted')
plt.legend()#범례표시
plt.show()


# In[25]:


import matplotlib.pyplot as plt
plt.title('marker')#제목설정
#빨간색 원형 마커 그래프
plt.plot([10,20,30,40],'r.', label='circle')
#초록색 삼각형 마커 그래프 
plt.plot([40,30,20,10],'g^', label='triangle up')
plt.legend()#범례표시
plt.show()

#!/usr/bin/env python
# coding: utf-8

#5.내 생일의 기온 변화를 그래프로 그리기

# In[5]:


import csv
f = open('seoul.csv', 'r', encoding='utf8')
data = csv.reader(f)
for row in data:
    print(row)


# In[6]:


import csv
f = open('seoul.csv', 'r', encoding='utf8')
data = csv.reader(f)
for row in data:
    print(row[-1])


# In[7]:


import csv
f = open('seoul.csv', 'r', encoding='utf8')
data = csv.reader(f)
next(data) #최고 기온 데이터를 저장할 리스트 생성
result = []
for row in data:
    if row[-1] != '': # 최고 기온 데이터 값이 존재한다면 
        result.append(float(row[-1])) # result 리스트에 최고 기온 값 추가
print(result)
print(len(result))


# In[8]:


import csv
import matplotlib.pyplot as plt
f = open('seoul.csv', 'r', encoding='utf8')
data = csv.reader(f)
next(data) #최고 기온 데이터를 저장할 리스트 생성
result = []
for row in data:
    if row[-1] != '': # 최고 기온 데이터 값이 존재한다면 
        result.append(float(row[-1]))# result 리스트에 최고 기온 값 추가
        
plt.plot(result, 'r')
plt.show()


# In[15]:


import csv
import matplotlib.pyplot as plt
f = open('seoul.csv', 'r', encoding='utf8')
data = csv.reader(f)
next(data) #최고 기온 데이터를 저장할 리스트 생성
result = []
for row in data:
    if row[-1] != '': # 최고 기온 데이터 값이 존재한다면 
        result.append(float(row[-1]))# result 리스트에 최고 기온 값 추가
plt.figure(figsize = (12,4)) #가로로 12인치, 세로로 4인치 설정      
plt.plot(result, 'r')
plt.show()


# In[16]:


s='hello python'
print(s.split())


# In[17]:


data='2022-02-02'
print(data.split())


# In[18]:


data='2022-02-02'
print(data.split('-')[0])
print(data.split('-')[1])
print(data.split('-')[2])


# In[89]:


import csv
import matplotlib.pyplot as plt
f = open('seoul.csv', 'r', encoding='utf8')
data = csv.reader(f)
next(data) #최고 기온 데이터를 저장할 리스트 생성
result = []
for row in data: 
    if row[-1] != '': #최고 기온값이 존재한다면
        if row[0].split('/')[0] == '8': #8월에 해당하는 값이라면
            result.append(float(row[-1])) #result 리스트에 최고 기온 값 추가
plt.figure(figsize = (12,4)) 
plt.plot(result, 'hotpink') #result 리스트에 저장된 값을 hotpink 색으로 그리기
plt.show()


# In[88]:


import csv
import matplotlib.pyplot as plt
f = open('seoul.csv', 'r', encoding='utf8')
data = csv.reader(f)
next(data) #최고 기온 데이터를 저장할 리스트 생성
result = []
for row in data: 
    if row[-1] != '': #최고 기온값이 존재한다면
        if row[0].split('/')[0] == '8' and row[0].split('/')[1] == '14': #8월 14일에 해당하는 값이라면
            result.append(float(row[-1])) #result 리스트에 최고 기온 값 추가
plt.figure(figsize = (12,4)) 
plt.plot(result, 'hotpink') #result 리스트에 저장된 값을 hotpink 색으로 그리기
plt.show()


# In[92]:


import csv
import matplotlib.pyplot as plt
f = open('seoul.csv', 'r', encoding='utf8')
data = csv.reader(f)
next(data) #최고 기온 데이터를 저장할 리스트 생성
high = []
low = []

for row in data: 
    if row[-1] != '' and row[-2] != '': #최고 기온값과 최저 기온 값이 존재한다면
        if 83 <= int(row[0].split('/')[2]): #1983년 이후 데이터라면
            if row[0].split('/')[0] == '8' and row[0].split('/')[1] == '14': #8월 14일 해당하는 값이라면
                high.append(float(row[-1])) #최고 기온 값을 high 리스트에 저장
                low.append(float(row[-2])) #최저 기온 값을 low 리스트에 저장
plt.figure(figsize = (12,4)) 
plt.plot(high, 'hotpink') #low 리스트에 저장된 값을 hotpink
plt.plot(low, 'skyblue') #low 리스트에 저장된 값을 skyblue
plt.show()


# In[99]:


import csv
import matplotlib.pyplot as plt
f = open('seoul.csv', 'r', encoding='utf8')
data = csv.reader(f)
next(data) #최고 기온 데이터를 저장할 리스트 생성
high = []
low = []

for row in data: 
    if row[-1] != '' and row[-2] != '': #최고 기온값과 최저 기온 값이 존재한다면
        if 83 <= int(row[0].split('/')[2]): #1983년 이후 데이터라면
            if row[0].split('/')[0] == '8' and row[0].split('/')[1] == '14': #8월 14일 해당하는 값이라면
                high.append(float(row[-1])) #최고 기온 값을 high 리스트에 저장
                low.append(float(row[-2])) #최저 기온 값을 low 리스트에 저장

plt.rc('font', family='AppleGothic') #애플고딕을 기본 글꼴로 설정
plt.title('내 생일의 기온 변화 그래프') #제목설정 
plt.rcParams['axes.unicode_minus']=False #마이너스 기호 깨짐 방지 
plt.figure(figsize = (12,4)) 
plt.plot(high, 'hotpink') #low 리스트에 저장된 값을 hotpink
plt.plot(low, 'skyblue') #low 리스트에 저장된 값을 skyblue
plt.show()

#!/usr/bin/env python
# coding: utf-8

#6.기온 데이터를 다양하게 시각화하기

# In[2]:


import matplotlib.pyplot as plt
plt.hist([1,1,2,3,4,5,6,7,8,10])
plt.show()


# In[4]:


import random
print(random.randint(1,6))


# In[5]:


import random
dice = []
for i in range(5):
        dice.append(random.randint(1,6))
print(dice)


# In[8]:


import matplotlib.pyplot as plt
dice=[]
for i in range(5):
    dice.append(random.randint(1,6))
plt.hist(dice, bins=6)
plt.show()


# In[9]:


import matplotlib.pyplot as plt
dice=[]
for i in range(100):
    dice.append(random.randint(1,6))
plt.hist(dice, bins=6)
plt.show()


# In[10]:


import matplotlib.pyplot as plt
dice=[]
for i in range(100000):
    dice.append(random.randint(1,6))
plt.hist(dice, bins=6)
plt.show()


# In[12]:


import csv 
import matplotlib.pyplot as plt

f = open('seoul.csv', 'r', encoding='utf8')
data = csv.reader(f)
next(data)
result=[]

for row in data:
    if row[-1] != '':
        result.append(float(row[-1]))
plt.hist(result, bins=100, color='r') #히스토그램 
plt.show()


# In[17]:


import csv 
import matplotlib.pyplot as plt

f = open('seoul.csv', 'r', encoding='utf8')
data = csv.reader(f)
next(data)
aug=[] #8월 최고 기온 값을 저장할 aug 리스트 생성

for row in data:
    month = row[0].split('/')[0] #/로 구분 값 중 첫번째 값을 month에 저장
    if row[-1] != '':
        if month == '8':
            aug.append(float(row[-1]))
plt.hist(aug, bins=100, color='r') #히스토그램 
plt.show()


# In[21]:


import csv 
import matplotlib.pyplot as plt

f = open('seoul.csv', 'r', encoding='utf8')
data = csv.reader(f)
next(data)
aug=[] #8월 최고 기온 값을 저장할 aug 리스트 생성
jan = [] #1월의 최고 기온 값을 저장할 jan 리스트 생성

for row in data:
    month = row[0].split('/')[0] #/로 구분 값 중 첫번째 값을 month에 저장
    if row[-1] != '':
        if month == '8':
            aug.append(float(row[-1]))
        if month == '1':
            jan.append(float(row[-1]))
plt.hist(aug, bins=100, color='r', label='Aug') #히스토그램 
plt.hist(jan, bins=100, color='g', label='Jan')
plt.legend()
plt.show()


# In[22]:


import matplotlib.pyplot as plt
import random

result = []
for i in range(13):
    result.append(random.randint(1,1000))
print(sorted(result))

plt.boxplot(result)
plt.show()


# In[23]:


import csv 
import matplotlib.pyplot as plt

f = open('seoul.csv', 'r', encoding='utf8')
data = csv.reader(f)
next(data)
result=[]

for row in data:
    if row[-1] != '':
        result.append(float(row[-1]))
plt.boxplot(result)
plt.show()


# In[24]:


import csv 
import matplotlib.pyplot as plt

f = open('seoul.csv', 'r', encoding='utf8')
data = csv.reader(f)
next(data)
aug=[]
jan=[]
for row in data:
    month = row[0].split('/')[0]
    if row[-1] != '':
        if month == '8':
            aug.append(float(row[-1]))
        if month == '1':
            jan.append(float(row[-1]))
plt.boxplot(aug)
plt.boxplot(jan)
plt.show()


# In[25]:


import csv 
import matplotlib.pyplot as plt

f = open('seoul.csv', 'r', encoding='utf8')
data = csv.reader(f)
next(data)
aug=[]
jan=[]
for row in data:
    month = row[0].split('/')[0]
    if row[-1] != '':
        if month == '8':
            aug.append(float(row[-1]))
        if month == '1':
            jan.append(float(row[-1]))
plt.boxplot([aug,jan])
plt.show()


# In[26]:


import matplotlib.pyplot as plt
import csv

f=open('seoul.csv')
data=csv.reader(f)
next(data)

#월별 데이터를 저장할 리스트 month 생성(12개)
month = [[],[],[],[],[],[],[],[],[],[],[],[]]

for row in data:
    if row[-1] != '':
        #월과 같은 번호의 인덱스에 월별 데이터 저장
        month[int(row[0].split('/')[0])-1].append(float(row[-1]))
        
plt.boxplot(month)
plt.show()


# In[32]:


import matplotlib.pyplot as plt
import csv

f=open('seoul.csv')
data=csv.reader(f)
next(data)

#일별 데이터를 저장할 리스트 day 생성
day = []
for i in range(31):
    day.append([]) # day 리스트 내 31개 리스트 생성

for row in data:
    if row[-1] != '':
        if row[0].split('/')[0] == '8':# 8월이라면
        #최고 기온값 저장
            day[int(row[0].split('/')[1])-1].append(float(row[-1]))
        
plt.style.use('ggplot') # 그래프 스타일 지정
plt.figure(figsize=(10,5), dpi=300) #그래프 크기 수정
plt.boxplot(day, showfliers=False) #아웃라이어 값 생략
plt.show()
728x90
반응형

댓글