반응형

Python 16

<Python> 람다 Lambda Expression

람다 함수는 기존의 함수를 정의하는 과정을 생략하고 함수를 사용하는 방식이다. 7x+1이라는 식을 파이썬으로 함수로 표현하면 아래와 같다. 1 2 3 4 def f(x): return 7x+1 cs 먼저 f라는 함수의 이름을 정의해주고 소괄호 안에 매개변수 x를 지정해준다. 그리고 함수 f와 매개변수 x의 값을 지정해주면 그 값을 계산할 수 있게 return 값으로 7x+1을 지정해준다. x의 값이 2라면 그 값은 15가 된다. 1 2 3 4 def f(x): return 7x+1 print("f(x) = 7x+1") print("f(2) : "+str(f(2))) cs [실행결과] 그렇다면 람다함수로는 어떻게 7x+1이 표현이 되는가는 아래와 같다. 1 lambda x: 7*x+1 cs 람다식을 사용하..

<matplotlib> 실시간 데이터 반영 그래프

1. 기본 구조 2. csv 파일 읽어들여 만들기 1. 기본 구조 사용한 라이브러리 random -> 무작위의 수를 생성하기 위해 사용합니다. intertools.count -> 1,2,3... 순차적인 수를 생성하기 위해 사용합니다. pandas matplotlib.pyplot matplotlib.animation -> animation 효과, 실시간 데이터 반영을 위해 사용합니다. 사용한 메서드 index = count() next(index) -> 순차적인 수를 생성해냅니다. random.randint(0,5) -> 0~5 사이의 랜덤한 정수를 생성합니다. plt.cla() -> 앞선 그래프를 삭제합니다. ani = FuncAnimation(plt.gcf(), animate, interval = 1..

<Matplotlib> 산점도 그리기

1. 기본적 산점도 그리기 2. 점 모양, x,y 축의 이름 지정 3. log - scale 4. 색과 다른 정보 추가 matplotlib을 통해서 산점도를 그리는 방법에 대해서 알아보겠습니다. *사용한 자료는 제 블로그의 adsense 한달 간의 노출RPM과 노출수의 상관관계를 파악해 보겠습니다. **그리고 추가로 노출가능한 active_view의 퍼센테이지 역시 어떤 상관관계를 가지고 있는지 알아보겠습니다. 1.기본적인 산점도 그리기 산점도는 plt.scatter(x,y)를 통해서 그릴 수 있습니다. 저의 x는 노출수, y는 노출rpm으로 지정했습니다. plt.scatter(노출수,노출rpm) 을 사용하면 바로 산점도가 나타납니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 import p..

<python> list 조작 함수 모음

[조작함수] 함수 설명 사용법 append() 리스트 제일 뒤에 항목을 추가한다. 리스트.append(값) pop() 리스트 제일 뒤의 항목을 빼내고 삭제한다. 리스트.pop() sort() 항목을 정렬한다. 리스트.sort() reverse() 역순 정렬 리스트.reverse() index() 지정한 값을 찾아 위치 반환 리스트.index(찾을값) insert() 지정한 위치에 값을 삽입 리스트.insert(위치,값) remove() 지정한 값을 제거한다. 리스트.remove(지울 값) extend() 리스트 위에 리스트를 추가한다. 리스트.extend(다른 리스트) count() 리스트에서 찾을 값의 개수를 센다 리스트.count(찾을 값) del() 리스트에서 해당 위치의 항목을 삭제한다 del 리..

서울 코로나 요일별 확진자 비율 (2020.01.24~ 2021.08.17 )

*pie chart를 이용하여 요일별 확진자 비율을 시각화해 보았습니다. *explode를 이용해 최고비율_요일와 최저비율_요일를 강조했습니다. *비율의 0아래의 자릿수를 두자리로 제한했습니다. [전체 코드] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 import pandas as pd from matplotlib import pyplot as plt df = pd.read_csv("seoul_corona_now - seoul_corona_now.csv",parse_dates = ['확진일','등록일','수정일']) df['확진_요일']=df['확진일'].dt.day_name() count_요일 = df['확진_요일'].value_co..

<Python> dictionary 자료형의 list 자료형으로 변환

1. 단순변환 list() 2. 정렬하여 변환 (1) key 값을 이용하여 정렬하여 변환 *key값으로 정렬하면서 key와 value 모두 그 정렬에 따라 list로 변환하기 (2) value 값을 이용하여 정렬하여 변환 1. 단순변환 list() dictionary 자료를 list로 변환하기 위해서는 list(dic자료 변수명)을 사용해주면 됩니다. 이렇게 하면 key값으로 구성된 list 가 형성됩니다. value로 구성된 list를 생성하려면 list(사전.values()) 를 사용해주면 됩니다. (key,value)의 형태를 가진 튜플로 구성된 리스트로 변환하기 위해서는 list(zip(사전.keys(),사전.values())) 으로 zip()으로 묶어서 만들어주면 됩니다. 2. 정렬하여 list..

서울 일별 코로나 확진자 수 그래프 그리기

지금까지 배웠던 pandas와 matplotlib을 이용하여 서울 코로나 확진자 수를 그래프로 나타내 보았습니다. row 값에 환자 한명의 정보가 나타나 있기 때문에 확진일을 이용하여 value_counts()를 사용해 일일 확진자의 수를 뽑았습니다. xtick이 너무 많아서 '2020-01-24','2020-05-24','2020-10-24','2021-03-24','2021-08-17' 이렇게 다섯 날짜만 표시되도록 했습니다. 평균값을 중심으로 평균 이상과 평균 이하를 표현하기 위해 plt.fill_between을 사용했습니다. 선의 굵기의 기본값인 2는 너무 굵어서 1.5로 선의 굵기를 변경했습니다. [전체 코드] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19..

<Matplotlib> 선 그래프 사이를 채워서 차이 나타내기

일반적인 선 그래프에 비해서 평균값과 혹은 선그래프사이의 차이를 채워줌으로써 더욱 전문적인 그래프로 보이게 할 수 있습니다. matplotlib 에서는 fill_between()을 사용하여 공간을 채울 수 있습니다. 1. 일반적 선그래프 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 from matplotlib import pyplot as plt 등급 = [0,1,2,3,4,5,6] 맑음_기록 = [103.54,98.87,96.75,92.47,86.85,82.17,75.66] 비_기록 = [114.72,100.10,91.60,90.12,83.63,88.26,80.71] 기록_평균 = 84.78 plt.plot(등급,맑음_기록,label = '맑음_기록'..

<Python Matplotlib> Stack Plot 누적 그래프 그리기

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 from matplotlib import pyplot as plt #그래프 스타일입니다. plt.style.use("fivethirtyeight") #x축에 표시될 수치들입니다. minutes = [1,2,3,4,5,6,7,8,9] #각 분마다 player들이 획득한 점수입니다. player1 = [1,2,3,3,4,4,4,4,5] player2 = [1,1,1,1,2,2,2,3,4] player3 = [1,1,1,2,2,2,3,3,3] #색은 파랑 빨강 초록입니다. colors = ['008..

<python pandas> Grouping Data 데이터 그룹화하기

1. value_counts 2. 공통된 데이터를 기준으로 그룹화하기groupby 3. 활용 [코로나 확진자 여행지별 증감율]  오늘은 pandas로 가져온 데이터에서 column 안에 있는 데이터의 수를 세고, 공통 인자를 기준으로 묶어서 분석하는 법에 대해서 알아보겠습니다.  알아보기 위해 오늘은 공공데이터를 활용하겠습니다.  공공데이터 포털에서 서울시 코로나19 확진자 현황.csv를 사용하겠습니다.   받은 직후에 바로 pandas에서 읽어오려고 하면 encoding 문제가 뜹니다. 별별 인코딩들을 다 써봤지만 안열려서, 그냥 엑셀로 열어서 엑셀에서 다시 csv 파일로 저장해서 읽어왔습니다... 각설하고, 시작하겠습니다. 변수 이름을 df로 하고 csv 파일을 불러옵니다. csv 파일 이름은 '서울..

반응형