728x90

2022/06 36

[pandas] Auto MPG 데이터셋 소개

데이터 분석에 자주 사용되는 데이터셋 중에는 Auto MPG라는 데이터셋이 있습니다. mpg는 miles per gallon의 약자로 연비를 나타냅니다. 자동차의 연비와 관련된 데이터를 담고 있는 데이터셋이라고 보시면 됩니다. 이 데이터셋은 https://archive.ics.uci.edu/ml/datasets/auto+mpg 에서 다운로드 받으실 수 있습니다. Auto MPG 데이터셋 명세서 Auto MPG 데이터셋은 398개 샘플로 구성되어 있습니다. 처음 다섯 개 샘플만 보여드리면 다음과 같습니다. 18.0 8 307.0 130.0 3504. 12.0 70 1 "chevrolet chevelle malibu" 15.0 8 350.0 165.0 3693. 11.5 70 1 "buick skylark ..

[pandas] 데이터프레임 shift 메소드 사용법

안녕하세요. 비스카이비전입니다. 오늘은 데이터프레임의 shift 메소드라는 것에 대해 소개해드리겠습니다. pandas 공식 문서에서 shift 메소드는 다음과 같이 설명되어 있습니다. Shift index by desired number of periods with an optional time freq. 지정된 숫자만큼 인덱스를 이동시켜준다는 의미입니다. 이것만 봐서는 이해가 잘 안 되죠. 이런 경우에는 예제를 통해 shift 메소드는 이럴 때 사용할 수 있구나를 파악하시는 것이 더 낫습니다. 데이터프레임 shift 메소드 손흥민 선수가 활약하고 있는 토트넘의 2010년 이후 순위를 나타내는 데이터프레임을 하나 만들겠습니다. dict_data = {'토트넘':[5, 4, 5, 6, 5, 3, 2, 3,..

[sqlite3] csv 파일을 sqlite로 가져오는 방법

안녕하세요. 비스카이비전입니다. 오늘은 csv 파일에 있는 데이터를 sqlite 테이블로 가져오는 방법에 대해 공유해드리고자 합니다. 일단 실습을 위해 간단한 csv 파일을 만들겠습니다. test.csv라는 이름으로 위와 같은 csv 파일을 만들었습니다. 이 csv을 sqlite3로 가져와보겠습니다. csv 파일 내 데이터를 sqlite 테이블로 가져오는 방법 1. 사전 준비 우선 하나의 폴더 안에 sqlite3.exe와 test.csv 파일이 같이 있을 수 있게 세팅해주세요. 만약 sqlite3.exe를 설치하지 않으신 분은 https://bskyvision.com/1174 글을 참고하여 설치하여 주시기 바랍니다. 2. csv 데이터 담을 테이블 만들기 1) sqlite3.exe를 실행합니다. 2) s..

[pandas, matplotlib] EPL 빅6 팀의 2010년 이후 순위 비교 그래프 그리기(선 그래프, 막대 그래프)

안녕하세요. 비스카이비전입니다. 오늘은 영국 프리미어 리그(EPL)에서 빅6라고 불리는 팀들의 2010년 이후 순위를 비교해보는 그래프를 그려보도록 하겠습니다. 우선 EPL에서 빅6라고 불리는 팀은 다음과 같습니다. 맨시티, 리버풀, 맨유, 아스날, 첼시, 토트넘 빅6 순위 추이 선 그래프 import pandas as pd import matplotlib.pyplot as plt from matplotlib import font_manager, rc font_path = "c:/Windows/Fonts/malgun.ttf" font_name = font_manager.FontProperties(fname=font_path).get_name() rc('font', family=font_name) dict..

[pandas] 데이터프레임 컬럼명 또는 행 인덱스 바꾸는 방법

안녕하세요. 비스카이비전입니다. 오늘은 판다스 데이터프레임의 컬럼명과 행 인덱스를 바꾸는 방법에 대해 정리해보겠습니다. 위와 같은 데이터프레임이 있다고 가정하겠습니다. 세 개의 컬럼으로 구성되어 있는 데이터프레임입니다. 데이터프레임 컬럼명 바꾸는 방법 우선 이 데이터프레임의 컬럼명을 1반 -> A반, 2반 -> B반, 3반 -> C반으로 변경해보겠습니다. 데이터프레임의 rename 메소드를 사용하시면 됩니다. import pandas as pd dict_data = {'1반':['철수', '영희', '바둑'], '2반':['영수', '수정', '순자'], '3반':['영숙', '영철', '상철']} df = pd.DataFrame(dict_data) print(df) df.rename(columns={'..

[matplotlib] 그래프에 화살표 및 텍스트 삽입하기

안녕하세요. 수많은 소음 속에서 신호를 찾아가는 비스카이비전입니다. 오늘은 matplotlib로 그린 그래프에 화살표 및 텍스트를 삽입하는 방법에 대해 공유하고자 합니다. 예전에 제 블로그 구글 애드센스 월 수익 추이를 matplotlib를 활용하여 그렸던 것이 있는데, 그 그래프에 화살표와 텍스트를 삽입해 보겠습니다. 우선 화살표와 텍스트 삽입 전 그래프입니다. import pandas as pd import matplotlib.pyplot as plt from matplotlib import font_manager, rc font_path = "c:/Windows/Fonts/malgun.ttf" font_name = font_manager.FontProperties(fname=font_path).ge..

[matplotlib] 그래프의 y축 범위 지정하는 방법

안녕하세요. 비스카이비전입니다. 오늘은 matplotlib로 그린 그래프의 y축 범위를 지정하는 방법에 대해 살펴보도록 하겠습니다. matplotlib는 데이터에 맞게 적절한 범위로 그래프를 그려줍니다. import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame([[1, 5], [2, 2], [3, 7], [4, 9], [5, 6]]) plt.plot(df[0], df[1]) plt.grid(True) plt.title('title') plt.xlabel('xlabel') plt.ylabel('ylabel') plt.show() matplotlib는 주어진 데이터에 근거하여 y값의 범위를 약 1.x부터 9.x로 그려준 것을 확인할 수 있습..

[matplotlib] 그래프 스타일 바꾸기

안녕하세요. 비스카이비전입니다. matplotlib를 활용하여 그래프를 그리면 대략 다음과 같은 스타일로 그래프가 그려집니다. import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame([[1, 5], [2, 2], [3, 7], [4, 9], [5, 6]]) plt.plot(df[0], df[1]) plt.grid(True) plt.title('title') plt.xlabel('xlabel') plt.ylabel('ylabel') plt.show() 이런 스타일의 그래프도 충분히 심플하고 예쁩니다. 하지만 한 줄의 코드만 삽입하면, 완전히 다른 느낌의 그래프를 그릴 수 있습니다. matplotlib에서 제공하는 그래프의 스타일을 확인하..

[pandas 오류 해결] TypeError: read_excel() got an unexpected keyword argument 'fillna'

안녕하세요. 비스카이비전입니다. AttributeError: 'DataFrame' object has no attribute 'header' 위 에러메시지는 pandas의 read_excel 함수에 다음과 같이 fillna 옵션을 넣었을 때 뜨는 메시지입니다. df = pd.read_excel('파일명.xlsx', fillna=0, header=0) 제가 지금 사용하고 있는 pandas의 버전은 1.4.2인데, 이 버전에서는 read_excel 함수 내에 fillna 옵션 사용이 불가합니다. 아마 예전 버전의 판다스에서는 문제 없이 실행되었던 코드 같습니다. fillna로 인한 에러 해결법 위 코드는 이제 다음과 같이 변경해줘야 합니다. 데이터프레임의 fillna 메소드를 활용해서 해결하시면 됩니다. d..

ssh 원격 접속 명령어

안녕하세요. 비스카이비전입니다. 서버에 원격 접속할 때 저는 주로 ssh를 이용합니다. ssh는 secure shell의 약자입니다. 만약 사용자가 bskyvision이고 ip주소가 123.456.789.123 이고 포트가 6202라면, 다음과 같은 명령어를 윈도우 cmd나 리눅스 터미널에서 입력한 후 비밀번호를 입력하시면 원격 서버에 접속이 가능합니다. ssh bskyvision@123.456.789.123 -p6202 ssh 원격접속가능계정@접속할pc의ip주소 -p포트번호 관련 글 우분투 ssh 포트번호 변경하기

PC/컴퓨터, 인터넷 2022.06.26 (2)