'통계 및 데이터 처리/python' 카테고리의 글 목록 :: A4용지

이번 시간에는 워드 클라우드를 그려보고자 합니다.


워드 클라우드는 빈출된 단어들을 시각적으로 보여주면서 대중 혹은 다수의 의견의 분포를

직관적으로 가늠할 수 있다는 장점이 있습니다.


이 장점에 맞추어 워드 클라우드에 등장하는 단어들은 명사와 형용사로 제한됩니다.

왜냐하면 부사나 조사 등등은 특정한 의미를 담고 있지 않기 때문입니다.


---------------------------------------------------


우선 워드 클라우드로 표현하기 위한 텍스트 파일을 구해 봅시다.


크롤링 시간에 만들었던 다음 영화 네티즌 댓글 죽은 시인의 사회 파일을 저는 사용하도록 하겠습니다.


우선 필요한 라이브러리를 가져와봅시다.

1
2
3
4
5
6
7
8
from konlpy.tag import Twitter
 
file = open(data1.txt, 'r')
lines = file.readlines()
 
file.close()
 
 
cs

그리고 사용하고자 하는 텍스트 파일을 읽기('r') 상태로 가져와서 리스트 형태로 lines에 저장해둡니다.

준비 끝!


그럼 해당 파일의 텍스트를 모두 가져온 것입니다.


다음 과정으로 데이터 전처리를 해보도록 하겠습니다.

앞서 이야기 했듯이 워드 클라우드를 그리기 위한 낱말은 명사와 형용사로 한정되기 때문에,

텍스트에서 명사와 형용사만 뽑아내야 합니다.


일단 텍스트 문서 내에 있는 모든 말을 형태소 단위로 쪼개어 보도록 하겠습니다.


1
2
3
4
5
6
7
twitter = Twitter()
sentences_tag = []
 
for sentence in lines:
    sentences_tag.append(twitter.pos(sentence))
    
print(sentences_tag)
cs


twitter.pos()는 형태소를 분석해주는 함수입니다.

대략 

('걸음', 'Noun'), ('으로', 'Josa'), ('자기', 'Noun'), ('길', 'Noun'), ('을', 'Josa'), ('가거', 'Verb'), ('라', 'Eomi')

이런게 좌르륵 뜹니다.


첫번째 원소가 낱말이고 두번째 원소가 형태소를 알려주는 정보입니다.

우리가 찾고 싶은 명사는 'Noun' 이고 형용사는 'Adjective'입니다.

이것들만 이제 추려봅시다.


1
2
3
4
5
6
7
8
noun_adj_list=[]
 
for sentence in sentences_tag :
    for word, tag in sentence :
        if tag in ['Noun''Adjective'] :
            noun_adj_list.append(word)
            
print(noun_adj_list)
cs


이중 포문입니다.

리스트 하나하나를 가져온 다음 (ex. ('걸음', 'Noun') )

첫번째 원소를 word로, 두번째 원소를 tag로 할당합니다.

tag가 Noun, Adjective 중 하나라면 word를 noun_adj_list에 넣습니다.

그리고 프린트 해보면


['오', '캡틴', '마이', '캡틴', '현재', '자신', '걸음', '자기', '길', '바보', '같은', '사람', '무어', '간', '다시', '봐', '그때', '그', '감동', '똑', '같네', '삶', '때', '삶', '대해', '말라', '이', '영화', '불편했', '보수', '이', '영화', '감동', '진보', '숙취', '몸', '시원한', '해장국', '몸', '마음', '가벼운', '요즘', '변화', '두렵', '기도', '꼭', '필요하기', '것', '같다', '다만', '것', '어른', '우리', '성년', '날', '그', '어른', '걸작', '영화', '있는', '사람', '영화', '좀', '사람', '이', '영화', '그냥', '모', '그냥', '예뻐', '눈물', '이난', '년대', '영화', '캐릭터', '극본', '연기', '모두', '조화', '건', '아마', '처음', '최고', '진정', '교육자', '존', '키팅', '마지막', '장면', '학생', '책상', '위', '오', '나', '선장', '키팅', '선생님', '때', '여운', '이루', '없다', '가장', '명작', '명연기', '로빈윌리엄스', '영화', '용도', '좋', '배우', '잘생겼', '공감', '교육', '현실', '캡틴', '너', '자신', '어떤', '틀', '구애', '너', '자유', '자', '위해', '저항', '하라', '너', '길', '가라', '스스로', '자각', '이', '사회', '변화', '그것', '배움', '길이', '정의', '위해', '불의', '타협', '정의', '일', '그것', '바로', '지식인', '가야', '길이', '이제', '세상', '그때', '지금', '현재', '교육', '항상', '불만족', '참된', '스승', '현재', '완전', '확', '무슨', '말', '더', '필요', '하리', '점', '중간', '닐', '전', '고뇌', '때', '유목민족', '몽골인', '늑대', '로부터', '양떼', '위해', '고안', '용감하다', '뜻', '몽골', '노래', '음악', '흐미', '예술', '제발', '내', '영화', '제일', '감동', '영화', '정말', '좋', '다시', '보고', '다시', '봐', '정말', '최고다', '내', '인생', '영화', '넘버', '원', '몇', '번', '봐', '감동', '영원한', '캡틴', '로빈', '월', '리암', '명작', '가치', '시대', '초월', '너무', '좋', '재', '개봉', '정말', '오랜만', '당시', '감동', '여윤', '이상', '교사', '교단', '모습', '언젠간', '모든', '교육자', '저런', '모습', '있기', '사실', '예전', '영화', '촌스런', '부분', '많았', '캡틴', '마이', '캡틴', '이', '대사', '처음', '울', '마지막', '감명', '깊게', '본영', '영화관', '집', '알', '있지', '있었', '것', '다시', '현재', '우리나라', '모습', '아닐', '학생', '진정', '교육', '무엇', '어떤', '교사', '이', '영화', '보고', '고등학교', '때', '남자', '로서', '처음', '보고', '눈물', '영화', '오', '캡틴', '마이', '캡틴', '그냥', '너무', '멋있고', '인생', '영화', '너무', '좋', '이제', '없는', '로빈', '윌리암스', '명작', '한국', '이런', '영화', '기대하는', '어리석', '다시', '봐', '변함', '없는', '감동', '이', '작품', '브라운관', '아닌', '스크린', '다시', '볼', '수', '있는', '건', '행운', '스크린', '더', '감동', '전통', '명예', '규율', '최고', '학교', '교훈', '대한', '저항', '퇴임', '은사', '표', '신뢰', '경의', '우뚝', '선', '포퍼', '먼', '스', '인상', '평생', '소장', '영화', '임', '영화', '보고', '처음', '펑펑', '기억', '음악', '아름답', '영상', '아름답', '스토리', '너무나', '훌륭한', '그런', '영화']

이렇게 나오네요.

생각보다.. 워드 클라우드를 그리기에는 적은 어휘량 인거 같습니다.


그래도 끝까지 해봅시다.



'통계 및 데이터 처리 > python' 카테고리의 다른 글

konlpy : 텍스트 분석하기  (0) 2017.08.21
pandas 테이블 합치기  (0) 2017.08.10
file io  (0) 2017.08.10
pandas 데이터 테이블 다루기  (0) 2017.08.09
pandas datatable 생성  (0) 2017.08.09

텍스트 분석에는 총 5단계가 있습니다.


1. 데이터 수집 

2. 데이터 전처리 : 데이터를 다루기 편하게 만들어 놓기 위한 준비 단계

3. 데이터 탐색 

4. 데이터 분석

5. 인사이트 추출


프로그래밍 이것저것 게시판에서 데이터 수집을 위한 크롤링을 배워 보았으며

이번 시간에는 데이터 전처리 과정을 배워보도록 하겠습니다.


텍스트 데이터를 전처리 할 것인데요, 저는 konlpy를 사용하도록 하겠습니다.


한나눔, 꼬꼬마, 트위터, 코모란 등 한국어 형태소 분석기의 종류가 다양한데요, konlpy는 이와 같은 형태소 분석기들을 포함한 패키지입니다.


형태소 분석을 위해 konlpy 패키지에서 Kkma 라이브러리를 가져옵니다.


그 후 꼬꼬마 인스턴스를 생성합니다.

1
2
3
from konlpy.tag import Kkma
 
kkma = Kkma()
cs


이제 분석을 해보도록 하겠습니다.


우선 주어진 텍스트를 문장 단위로 끊어보는 일을 해보겠습니다.

여기서 사용되는 함수는 sentences()라는 함수입니다.

1
2
3
4
5
text = '오늘 날씨가 따뜻합니다. 내일은 눈이 온다고 합니다. 모레는 오늘보다 춥습니다.'
 
sentences = kkma.sentences(text)
 
print(sentences)
cs
['오늘 날씨가 따뜻합니다.', '내일은 눈이 온다고 합니다.', '모레는 오늘보다 춥습니다.']


리스트로 반환해주네요.


이번에는 명사를 추출해봅시다.

명사를 추출하는데 사용되는 함수는 nouns()입니다.

1
2
3
4
5
text = '오늘 날씨가 따뜻합니다. 내일은 눈이 온다고 합니다. 모레는 오늘보다 춥습니다.'
 
nouns = kkma.nouns(text)
 
print(nouns)
cs
['오늘', '날씨', '내일', '눈', '모레']


이번에는 텍스트의 구성요소를 형태소 단위로 쪼개어 보도록 합시다.

여기서 사용되는 함수는 morphs()입니다.

1
2
3
4
5
text = '오늘 날씨가 따뜻합니다. 내일은 눈이 온다고 합니다. 모레는 오늘보다 춥습니다.'
 
morphs = kkma.morphs(text)
 
print(morphs)
cs
['오늘', '날씨', '가', '따뜻', '하', 'ㅂ니다', '.', '내일', '은', '눈', '이', '오', 'ㄴ다고', '하', 'ㅂ니다', '.', '모레', '는', '오늘', '보다', '춥', '습니다', '.']


신기하네요.


이번에는 문장의 구성요소를 태깅해보도록 하겠습니다.

여기서 사용되는 함수는 pos()라는 함수입니다.

1
2
3
4
5
text = '오늘 날씨가 따뜻합니다. 내일은 눈이 온다고 합니다. 모레는 오늘보다 춥습니다.'
 
tag = kkma.pos(text)
 
print(tag)
cs
[('오늘', 'NNG'), ('날씨', 'NNG'), ('가', 'JKS'), ('따뜻', 'XR'), ('하', 'XSA'), ('ㅂ니다', 'EFN'), ('.', 'SF'), ('내일', 'NNG'), ('은', 'JX'), ('눈', 'NNG'), ('이', 'JKS'), ('오', 'VV'), ('ㄴ다고', 'ECE'), ('하', 'VV'), ('ㅂ니다', 'EFN'), ('.', 'SF'), ('모레', 'NNG'), ('는', 'JX'), ('오늘', 'NNG'), ('보다', 'JKM'), ('춥', 'VA'), ('습니다', 'EFN'), ('.', 'SF')]


튜플 형태로 출력이 되네요.

낱말 옆에 있는 알파벳들이 문장의 구성요소 중 하나를 뜻합니다.

예를들면 ECE : 대등 연결어미

EFN : 평서형 종결 어미

...

...


검색해보시면 나올 겁니다.

'통계 및 데이터 처리 > python' 카테고리의 다른 글

워드 클라우드 그리기 : 데이터 전처리  (1) 2017.08.22
pandas 테이블 합치기  (0) 2017.08.10
file io  (0) 2017.08.10
pandas 데이터 테이블 다루기  (0) 2017.08.09
pandas datatable 생성  (0) 2017.08.09

저번 포스팅에서 진행되었던 내용들을 그대로 끌고 오겠습니다.

(임폴트하고.. 테이블 작성하고.. 중요하지 않은 부분들이 중복되는게 보기 좋아 보이지 않네요.)


df3 테이블을 보시겠습니다.

AAPL_HighAAPL_Low
Date
2010-01-0430.6430.34
2010-01-0530.8030.46
2010-01-0630.7530.11
2010-01-0730.2929.86
2010-01-0830.2929.87

애플의 주가 정보입니다. 각 날짜의 최고가와 최저가가 적혀져 있네요.


df4 테이블을 보시겠습니다.

GOOG_HighGOOG_Low
Date
2010-01-04629.511067624.241073
2010-01-05627.841071621.541045
2010-01-06625.861078606.361042
2010-01-07610.001045592.651008
2010-01-08603.251034589.110988

구글의 주가 정보입니다. 애플 주가 정보와 같게 각 날짜의 최고가와 최저가가 적혀져 있네요.



이 두 테이블을 합쳐보려고 합니다.

테이블를 합칠때는 merge()함수를 사용하면 편한데요, 그 사용법을 알아봅시다.


1
2
df5 = pd.merge(df3, df4, left_index=True, right_index=True)
df5.head()
cs
AAPL_HighAAPL_LowDate_xGOOG_HighGOOG_LowDate_y
Date
2010-01-0430.6430.342010-01-04629.511067624.2410732010-01-04
2010-01-0530.8030.462010-01-05627.841071621.5410452010-01-05
2010-01-0630.7530.112010-01-06625.861078606.3610422010-01-06
2010-01-0730.2929.862010-01-07610.001045592.6510082010-01-07
2010-01-0830.2929.872010-01-08603.251034589.1109882010-01-08


merge(df3, df4, left_index=True, right_index=True) 의 값은 위와 같습니다!

df3, df4라고 순서대로 기입한데로 결과가 나왔네요.

특이한 점은 각 테이블의 인덱스 값이 오른쪽으로 위치해있습니다.


결과적으로 날짜 정보가 3개 열이나 되는데요, 이것들을 통일시켜 봅시다.


1
2
3
4
5
df3['Date'] = df3.index
df4['Date'] = df4.index
df5 = pd.merge(df3, df4, on='Date')
df5 = df5.set_index('Date')
df5.head()
cs
AAPL_HighAAPL_LowGOOG_HighGOOG_Low
Date
2010-01-0430.6430.34629.511067624.241073
2010-01-0530.8030.46627.841071621.541045
2010-01-0630.7530.11625.861078606.361042
2010-01-0730.2929.86610.001045592.651008
2010-01-0830.2929.87603.251034589.110988

생각보다 귀찮은 과정을 거칩니다.

각 인덱스를 Date로 정하고 merge()함수 세번째 파라미터에 on='Date'를 추가하면서 df5 테이블을 생성합니다.

df5테이블에서 Date 열을 인덱스로 할 것이라고 명시해둡니다.

끝!

'통계 및 데이터 처리 > python' 카테고리의 다른 글

워드 클라우드 그리기 : 데이터 전처리  (1) 2017.08.22
konlpy : 텍스트 분석하기  (0) 2017.08.21
file io  (0) 2017.08.10
pandas 데이터 테이블 다루기  (0) 2017.08.09
pandas datatable 생성  (0) 2017.08.09

오늘을 파일을 읽어오고 쓰는 방법을 알아볼 것입니다.


1
2
3
4
import pandas as pd
import datetime as dt
import matplotlib.pyplot as plt
import pandas_datareader.data as web
cs

필요한 패키지를 불러 옵니다.


1
2
3
4
5
start = dt.datetime(2010, 1, 1)
end = dt.datetime(2016, 12, 31)
 
df = web.DataReader('AAPL', 'google', start, end)

cs


이렇게 불러온 df 테이블을 csv파일로 저장해봅시다.

1
df.to_csv('AAPL.csv')
cs


저장한 csv파일을 불러와서 df2 테이블에 담아봅시다.

1
df1 = pd.read_csv('AAPL.csv')
cs


우선 저번시간까지 다루었던 데이터 테이블을 다시 불러옵시다.

1
2
3
4
5
6
df = pd.DataFrame({'Day':[123456],
             'Visitors':[434533437844],
             'Revenue':[647362645366]})
df = df.set_index('Day')
 
df
cs
RevenueVisitors
Day
16443
27345
36233
46443
55378
66644


여기서 우리가 원하는 데이터를 뽑아보는 연습을 해봅시다.


1
2
3
4
5
6
7
df.loc[1]
print()
df.loc[3:5]
print()
df['Visitors']
print()
df.loc[5]['Visitors']
cs

결과

Revenue     64
Visitors    43
Name: 1, dtype: int64

RevenueVisitors
Day
36233
46443
55378

Day
1    43
2    45
3    33
4    43
5    78
6    44
Name: Visitors, dtype: int64

78

loc[]함수는 괄호 안의 인덱스의 각 컬럼값을 가져옵니다.

그리고 이 괄호는 리스트로 활용되어, [3:5]와 같이 활용할 수 있습니다.

['Visitors']처럼 내가 원하는 컬럼만 가져올 수 도 있고

loc[5]['Visitors']처럼 내가 원하는 인덱스의 원하는 칼럼의 값을 가져 올 수 있습니다.


이번엔 테이블에 컬럼을 추가해봅시다.

1
2
3
4
nums = [1,2,3,4,5,6]
df['Num'] = nums
df
 
cs

결과

Num이라는 컬럼이 하나 더 생기고 nums 리스트의 값들이 순서대로 인덱스에 배치되었네요!


따로 인덱스를 지정해주는 방법도 있습니다.

1
2
flags = pd.Series([0, 1, 0, 1], index=[1, 3, 4, 5])
df['Flag'] = flags
cs

결과

Series()함수의 첫번째 인자로 들어간 시리즈 값들이 두번째 인자로 들어간 인덱스 값에 순서대로 들어갔습니다.

인덱스로 지정되지 않은 부분은 NaN으로 되었네요.

필요한 패키지를 불러 옵시다.

1
2
import pandas as pd
import matplotlib.pyplot as plt
cs


1차원 테이블을 만들어 보는 방법은 아래와 같습니다.

1
series = pd.Series([27-510])

cs


ㄴㅇㅁㄹ

Series()라는 함수를 사용합니다.


print(series)를 하면 위와 같이 나오네요. 

데이터 타입또 함께 나옵니다.

2차원 테이블과 같이 가장 왼쪽 열에서는 인덱스가 있구요


print(series.values)를 하면 값들이 리스트로 제시되네요

print(series.index)를 하면 인덱스의 시작, 끝, step을 알려줍니다. [각주:1]

1
2
3
4
series2 = pd.Series([2, 7, -5, 10], index=['a','b','c','d'])
print(series2)
print()
print(series2.index)
print()
print(series2['c'])
cs

결과 값입니다.

a     2
b     7
c    -5
d    10
dtype: int64

Index(['a', 'b', 'c', 'd'], dtype='object')

-5

위 코드는 인덱스를 인위적으로 붙혀준 것입니다.

0,1,2,,,,보다 a,b,c,,,가 인덱스로서 붙혀지겠네요.

series2['c']로 불러오면 그 인덱스에 해당하는 값을 가져오네요.


또는 이렇게 1차원 테이블을만드는 방법도 있습니당

1
2
series3 = pd.Series({'a':2,'b':7,'c':-5,'d':10})
print(series3)
cs
a     2
b     7
c    -5
d    10
dtype: int64



이번엔 2차원 테이블을 만들어볼텐데요, 파이썬 기본 문법 중 딕셔너리를 사용해서 만들 것입니다.

각 키가 컬럼이 됩니다.

1
2
3
4
sales_stats = {'Day':[123456],
             'Visitors':[434533437844],
             'Revenue':[647362645366]}
df = pd.DataFrame(sales_stats)
cs

이렇게 각 day, visitors, revenue라는 컬럼에 값을 넣고 이를 DataFrame()함수로 테이블을 완성합니다.

df 테이블을 한번 봐볼까요?

이렇게 나옵니다.

가장 왼쪽 열에는 인덱스가 자동으로 붙혀져 있네요


음.. 인덱스를 제가 지정해보고 싶습니다.

가장 괜찮은 특성은 날짜 특성이죠.

1
df.set_index('Day')
cs
RevenueVisitors
Day
16443
27345
36233
46443
55378
66644

day가 인덱스로 되었습니다.

그런데 어?

1
df.head()
cs

를 해보면 

DayRevenueVisitors
016443
127345
236233
346443
455378

가 그대로 나옵니다.


왠일인지 보아하니,,

df.set_index()는 df 테이블을 변형시켜주는 것이 아니라 아에 그 항목을 인덱스로 가진 테이블을 하나 더 생성해주는 것이었습니다.

그래서 다음부터는 이를 유의하고 원하는 바를 얻고자 한다면 다음과 같이 써넣읍시다.

1
2
df = df.set_index('Day')
df
cs



  1. 중간에 오타오류 지못미 [본문으로]

데이터를 처리하기 위해서 필요한 패키지를 불러옵니다

1
2
3
import pandas as pd
import datetime as dt
import pandas_datareader.data as web


cs



1
2
3
4
5
start = dt.datetime(201011)
end = dt.datetime(20161231)
 
df = web.DataReader("AAPL""google", start, end) 
cs

저는 처음 DataReader 함수보고 정말 깜짝 놀랐어요.

"정말 저렇게만 써넣으면 google finance에서 apple 주가 정보를 가져온다고?"

짠 (.head()함수는 상위 5의 정보만 가져옵니다. 괄호 안에 5말고 다른 수를 넣으면 그 수만큼 상위에서 가져옵니다.)

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 정말 신기해요


이제 이 주가 정보를 그래프로 나타내봅시다.

우선 필요한 패키지를 불러옵니다.

1
2
3
import matplotlib.pyplot as plt
from matplotlib import style
 
cs

1
2
3
4
5
df['High'].plot()
plt.legend()
plt.show()
cs

df 테이블에서 high컬럼의 정보들을 시간에 따라 그래프를 나타내는 코드입니다.

legend()함수는 그래프에 등장하는 곡선이 어떤 컬럼을 나타내는지 표시되도록 역할을 합니다.

show()를 통해서 보면 아래와 같은 그래프가 등장합니다.

(이쁘죠)

1
2
3
4
df['High'].plot(figsize=(15, 6))
plt.legend()
plt.show()
cs

이번엔 사이즈를 조절해보겠습니다.

plot(figsize=(15,6))이 추가 되었는데요,

figsize안에 첫번째 인자가 그래프 가로, 두번째 인자가 그래프 세로의 길이를 조절해줍니다.

가로로 좀 더 늘어난 그래프가 나왔네요. (이것도 예뻐..)


이번엔 시간적 구간을 설정해봅시다.

1
2
3
df['High']['2014-08-01':'2015-08-01'].plot(figsize=(15, 6))
plt.legend()
plt.show()
cs

['2014-08-01':'2015-08-01']이 추가되었는데요, 

파이썬의 리스트 사용방법을 아시는 분이면 어떻게 시간을 조절하는 것인지 알 것입니다.


짜잔  

막대 그래프를 이용하면 히스토그램을 그릴 수 있습니다.

히스토그램은, 정해진 구간에 해당하는 항목의 개수를 보여줌으로써, 값의 분포를 관찰 가능하게 해줍니다.


아래 코드를 봅시다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
  from collections import Counter

grades = [83,95,91,87,70,0,85,82,100,67,73,77,0]
    decile = lambda grade: grade // 10 * 10
    histogram = Counter(decile(grade) for grade in grades)
 
    plt.bar([x - 4 for x in histogram.keys()], 
            histogram.values(),           
            8)                                 
    plt.axis([-510505])                
                                               
    plt.xticks([10 * i for i in range(11)])   
    plt.xlabel("Decile")
    plt.ylabel("# of Students")
    plt.title("Distribution of Exam 1 Grades")
    plt.show()

 from collections import Counterfrom collections import Counter cs

ㅇㄴㄹ

5. 각 막대를 왼쪽으로 4만큼 옮깁니다.

6. 히스토그램 막대의  값을 넣고

7. 막대의 넓이를 8로 설정합니다.[각주:1] (막대의 넓이가 8인데 막대를 4만큼 옆으로 움직였으니 정확히 레이블 중앙에 자리합니다.)

8. x축은 -5부터 105까지, y축은 0붙터 5까지 보여주기로 합니다.

10. x축의 레이블을 0~100까지 작성 합니다.

11. x축에 라벨을 붙힙니다.


실행해보면 




  1. 각 구간에 할당된 너비가 10인데 막대가 8을 차지하면 2만큼 막대간 간격이 형성됩니다 [본문으로]

파이썬에서 데이터 시각화에 쓰이는 도구는 무궁무진한데 이 중에서 matplotlib를 배워봅시다.

오늘은 그 첫 시간입니다.

그러므로우선 간단한 선 그래프부터 만들어봅시다


jupyter notebook을 열고 아래와 같이 코딩을 해주세요.



1줄 : matplotlib.pyplot 모듈을 적용합니다.

2줄 : 데이터 값을 줍니다.

3줄 : x 변수에다가 years를, y변수에다가 gdp를 배치합니다.[각주:1]

 선 색깔은 초록색, 점의 모양은 o, 선의 모양은 실선이라는 뜻입니다.

4줄 : 그래프에 제목을 붙여 봅시다.

5줄 : y축에 레이블을 추가합시다.

6줄 : 보여줘~



????????????????

오류가 났습니다.

valueerror 라고 하는데

이럴 땐 구글신을 적극 활용합시다.



아하..

리스트를 사용하지 말고 넘파이 배열을 사용하라고 합니다!

그러고보니 years 값을 리스트로 줬네요.


이렇게 해주시면 됩니다.


댓글 환영합니다!

  1. x변수는 주로 독립변수, y변수는 주로 종속변수를 배치합니다. 유의하세요. [본문으로]

파이썬 공부에 앞서서 파이썬 아나콘다를 설치해보겠습니다


https://www.continuum.io/downloads
일단 주소를 클릭해서 들어가주세요.



들어가서 자신에게 맞는 버전으로 다운로드 하시면 됩니다.




그리고 시작메뉴에서 anaconda prompt를 클릭하시면

조금 기다리시면

여기에 
§conda install jupyter
§conda install pandas pandas-datareader
§conda install matplotlib scipy

이 세개를 각각 타이핑해 넣으시 데이터 처리 공부하기 위한 준비는 거의 완료!!

이까지 다 했으면 jupyter notebook을 타이핑해 넣으시면 웹 같은게 하나 뜹니다.


여기에 python3를 클릭하면 다음과 같은 화면이 뜹니다.


준비 끝!

----------------------------------------------------------


질문이나 조언 그 어떤 댓글이든 모두 환영합니다!!


확인도 알림 뜨면 바로 하고 댓글 달아 드릴 수 있어요


+ Recent posts