zenn.skin 무료버전 배포중!
자세히보기

전체 글 182

Python/Syntax
[Pandas] 행 인덱스를 제외하고 DataFrame을 csv 파일로 저장

데이터가 저장된 파일의 종류는 엄청나게 다양합니다. 그중에서도 간단하지만 많이 사용되는 csv파일의 저장방법에 대해 공부해보려 합니다. DataFrame을 csv파일로 저장하면 다른 확장자와는 다르게 row index까지 같이 저장되기 때문에 index가 포함되지 않도록 해주어야 합니다. data = [list('abc'), list('def'), list('ghi')] data = pd.DataFrame(data) data.to_csv("ex.csv") data = pd.read_csv("ex.csv") print(data) 별도의 옵션을 지정하지 않고 DataFrame을 csv파일로 저장한 후 불러오면 기존에 있던 row index까지 열로 포함됩니다. 저장된 csv파일을 직접 열어 확인해도 row ..

Python/Syntax
[JupyterNoteBook] 다른 주피터 노트북으로 셀을 복사

JupyterNoteBook을 사용하다 보면 하나의 노트북에서 다른 노트북으로 복사를 해야하는 상황이 있습니다. 명령모드에서 c, v, x를 사용하면 해당하는 노트북에서만 복사, 붙여넣기, 자르기만 되고 다른 노트북으로의 이동은 불가능합니다. 명령모드에서 Ctrl+C, Ctrl+V(mac의 경우 Cmd+C, Cmd+V)를 사용하면 하나의 노트북에서 다른 노트북으로 셀을 복사, 붙여넣기가 가능합니다! 추가로! mac의 경우 Cmd를 누르고 셀을 선택해도 복수 선택이 안되므로 명령 모드에서 Shift를 누른 상태에서 방향키를 이용해 셀을 선택해야 합니다 이렇게 셀들을 선택한 후 Ctrl+C를 누른 후! 다른 셀에서 Ctrl+V를 누르면 셀들이 복사됩니다! 복사된 셀들은 실행된 상태는 아니기 때문에 별도로 실..

Python/Syntax
[Pandas] DataFrame 열 순서 변경

DataFrame의 열 순서를 변경하는 메소드는 별도로 없어서 열 순서를 변경하는 방법을 정리해보려 합니다. 1. 열의 순서를 직접적으로 변경 exam_data = {'수학': [90, 80, 70], '영어': [98, 89, 95], '음악': [11, 22, 33], '체육': [44, 55, 66]} exam_data = pd.DataFrame(exam_data) col = ['체육', '수학', '영어', '음악'] exam_data = exam_data[col] 열의 순서를 직접 설정하여 변경하는 방법입니다. 열의 개수가 많지 않으면 사용할 수 있지만 개수가 많아지면 사 용하기 힘들다는 단점이 있습니다. 2. reindex를 이용한 방법 exam_data = {'수학': [90, 80, 70]..

DataScience
정규분포를 왜 표준화하는걸까?

1. 정규분포를 표준화하는 이유 정규분포를 사용할 때는 먼저 평균과 표준편차를 ~N(0, 1)인 표준정규분포로 표준화한 후에 사용합니다. 정규분포를 따르는 분포는 많지만 각각의 평균과 표준편차가 다르기 때문에 일반화할 수 없기 때문입니다. 평균과 표준편차가 아무리 다르더라도 N(0, 1)로 만든다면 모두 같은 특성을 가지는 동일한 확률분포로 사용할 수 있습니다. 그렇다면 어떻게 이런 표준화가 가능할까요 2. 표준화하는 방법 데이터를 표준화하는 방법은 간단합니다. 지금부터 왜 이렇게 표준화가 되는지 차근차근 알아보려합니다. [5, 7, 11, 13, 8, 4] 라는 공부시간 데이터가 있을 때 해당 자료를 정규화하려 합니다. 1) 평균 주어진 데이터는 평균으로 8을 갖습니다. 이 때 모든 데이터에 대해 평균..

DataScience
통계적 추론, 추정의 의미?

오늘은 추론 통계학 중에서도 통계적 추정에 대해 정리해보려 합니다. 통계적 가설 검정은 "어떤 불확실한 현상이 특정 분포를 따른다고 하면, 해당 분포의 성질을 이용해서 불확실한 현상을 예측할 수 있지 않을까"하는 생각에서 출발합니다. 여기서는 가장 많이 사용되는 분포 중 하나인 표준정규분포를 살펴보려 합니다. 1. 표준편차의 범위 (μ−σ, μ+σ)에 포함되는 데이터는 전체의 68.26% 입니다. 포함되는 데이터가 전체의 68.26%라는 것은 하나의 수를 뽑아서 그 값을 맞추려할 때 (μ−σ, μ+σ) 안에 있는 숫자를 말하면 68.26% 확률로 적중하는 것을 의미합니다. 표준편차의 범위가 커지게 되면 포함되는 데이터의 양은 더 커지게 됩니다. (μ−2σ, μ+2σ)에 포함되는 데이터는 늘어나 95.44..

Python/Syntax
[Python] 문자열 자료형을 datetime, date 자료형으로 변환

from datetime import datetime date = '2022-05-26' date_time = datetime.strptime(date, "%Y-%m-%d") only_date = date_time.date() print(only_date) print(type(only_date)) 1) strptime - datetime.datetime.strptime을 사용하면 문자열 객체를 날짜와 관련된 자료형(datetime, date)으로 변환할 수 있다 - datetime.strptime(date_string: str, format: str) -> datetime - date_string : 문자열로 저장된 날짜 정보 - format : 입력된 문자열 date_string을 어떻게 읽을지(파싱할..

DataScience
기하평균의 의미

1. 기하평균 평균을 구하는 방법에는 여러가지 방법이 있다. 가장 많이 사용되는 산술평균은 여러 가지 방법 중에 하나로 오늘은 기하평균에 대해 알아보려 한다. 두 개의 값의 기하평균은 다음과 같이 구할 수 있다. 처음 기하평균을 보면 무슨 의미인지 잘 다가오지 않아 헷갈릴 수 있다. 기하평균의 의미는 "같은 수를 두 번 곱한값이 x와 y를 곱한 값과 같도록 하는 수"이다. 기하평균은 성장률을 구하는 경우에 주로 사용된다. 해마다 증가하는 증가량의 평균을 구하면 평균적으로 어느정도 성장했는지를 알 수 있다. 값의 개수가 n개라면 위와 같이 구할 수 있다. 값의 개수로 나눠주는 산술평균과 값의 개수로 제곱근을 취해주는 기하평균은 개념이 동일하다. 2. 예제 기업의 성장률이 첫해 20%, 다음 해 -10%, ..

CS/알고리즘
[Python] 피보나치 수열과 Dynamic Programming 기초

1. 피보나치 수열 피보나치 수는 첫째 항과 둘째 항이 1이고 뒤에 나오는 모든 항이 앞 두 항의 합인 수열이다. 앞의 두항의 합만 구하면 다음 항을 구할 수 있으므로 코드로 구현하면 다음과 같이 간단하게 표현할 수 있다. N = int(input()) def fibo(x): if x == 0: return 0 if x == 1: return 1 return fib(x - 1) + fib(x - 2) print(fibo(N)) 하지만 이 코드에는 큰 문제점이 있는데... 앞서 구했던 피보나치 수의 값을 기억하질 못한다... N=5라고 할 때 피보나치 수를 구하면 위와 같다. 동일한 계산을 여러 번하는데 전에 이미 값을 구했는데도 하위 연산을 하면서 값을 다시 구한다. 값이 하나 증가할 때마다 연산의 횟수..