반응형

분류 전체보기 505

Python Pandas에서 발생하는 KeyError: 0 해결법

파이썬 판다스 KeyError: 0 오류 디버깅 파이썬의 pandas 모듈에서 인덱싱 과정에서 발생하기 쉬운 KeyError 종류에 대하여 예상 원인과 이에 대한 해결법을 다루어보도록 하겠습니다. Case 1 : 열 이름 위치에 인덱스 번호를 대신 입력하는 경우 -> loc 함수 사용 아래와 같은 데이터프레임 df에 대하여 0번 인덱스 행을 가져오는 상황을 가정하겠습니다. 여기서 다음과 같이 인덱싱을 시도하면 KeyError: 0이 발생하게 됩니다. df[0] # KeyError: 0 발생 # 가능한 경우(열 이름만 가능) df['A'] df['B'] 이는 컬럼 이름이 들어가야할 자리에 인덱스 번호가 대신 들어간 상태이고, 0이라는 이름을 가진 열은 존재하지 않기에 해당 에러가 발생한 것입니다. 여기서는..

Python/Debugging 2022.06.14

[Sklearn] 파이썬 나이브 베이즈 분류기 구현 예제

Python 사이킷런 나이브 베이즈(NB) 분류 모델 학습하기 파이썬에서 scikit-learn의 기능을 활용하여 나이브 베이즈 분류기 학습 진행의 과정을 구현해보는 예제를 다루어보겠습니다. 데이터셋 불러오기 먼저, 이번 글에서 사용할 붓꽃 데이터셋을 불러오도록 하겠습니다. from sklearn.datasets import load_iris import pandas as pd # 데이터셋 로드 iris = load_iris() df = pd.DataFrame(data= iris.data , columns= ['sepal length', 'sepal width', 'petal length', 'petal width']) df['target'] = iris.target df 0, 1, 2로 표시된 3가지 ..

Python/Sklearn 2022.06.13

[C++] 문자열 string vs char 배열 선언 방식 비교

C++ 문자열 string vs char array 차이 비교 예제 C++에서 문자열을 string으로 선언하는 경우와 char 배열로 선언하는 경우의 예시 코드를 토대로 두 경우의 차이를 비교해보도록 하겠습니다. string 선언 방식의 문자열 C++에서는 헤더 파일을 포함하게 된다면 string 타입으로 문자열을 선언하여 매우 편리하게 다룰 수 있게 됩니다. 해당 타입으로 문자열을 선언 뒤, 일부 글자를 수정해보고 문자열의 길이를 출력해보는 예시 코드는 아래와 같습니다. #include #include using namespace std; int main() { // 문자열 선언 string a = "hello!\n"; cout

C & C++ 2022.06.13

[Pandas] 파이썬 데이터프레임 최대/최소값 위치 인덱스, 행 탐색 : idxmax(), idxmin()

파이썬 판다스 max/min 위치 index, row 찾기 파이썬의 데이터프레임 내에서 최대 혹은 최소값을 가지는 행의 위치에 대한 인덱스나 행 전체를 가져오는 방법에 대하여 idxmax, idxmin 함수의 사용법을 토대로 간단하게 정리해보겠습니다. 용이한 설명을 위하여, 아래와 같은 간단한 데이터프레임 df를 예시로 들어보겠습니다. import pandas as pd a = {"이름" : ['AAA', 'BBB', 'CCC', 'DDD'], "국어" : [80, 100, 90, 70], "수학" : [100, 90, 100, 80]} df = pd.DataFrame(a) df = df.set_index("이름") df 여기서는 참고로 "이름" 열이 인덱스로 지정되어 있습니다. 데이터프레임 전체 각 컬..

Python/Pandas 2022.06.12

[C언어] 한글 입력/출력 및 유니코드 값 확인 방법(wchar_t 활용)

C언어 한국어 입출력, Unicode 값 추출 C언어에서 wchar_t 자료형을 활용하여 한글을 출력하는 방법과 한글 input을 받는 방법을 살펴보고, 원하는 글자의 유니코드 값을 확인하는 법에 대해서도 다루어보겠습니다. C언어에서 한글 선언 및 출력 방법 C언어에서 한글 객체 및 한국어가 포함된 배열 선언과 출력 시의 유의 사항들은 다음과 같습니다. 1. 한글 객체 혹은 배열 선언은 wchar.h 모듈에 포함된 wchar_t 자료형을 사용하셔야 합니다. 2. wchar_t 배열 자료형 선언 및 출력 시에는 문자열처럼 쌍따옴표(" ")로 감싸는 것은 동일하나, 앞에 L을 붙여 L" " 형태로 감싸주셔야 한다는 점에 유의해주셔야 합니다. (마찬가지로 1글자 객체의 경우에는 ' ' 대신 L' ' 형태로 감..

C & C++ 2022.06.12

파이썬 EM 알고리즘 구현 예제(Gaussian Mixture Model)

Python 가우시안 혼합 모형(GMM) 구현(EM 알고리즘 예시) 파이썬에서 EM 알고리즘을 직접 구현한 예시를 대표적인 케이스인 가우시안 혼합 모형(GMM)의 경우를 통하여 살펴보도록 하겠습니다. Step 1. 데이터 가정 두 개의 독립적인 정규분포에서 샘플을 10개씩 추출되어 총 20개의 데이터가 혼재하는 상황을 가정해보도록 하겠습니다. 여기서는 단순한 1차원 정규분포의 상황으로 예시를 살펴보겠습니다. 실제 데이터가 추출된 두 가우시안 분포는 다음과 같습니다. 분포 1 : 평균 = 0, 표준편차 = 2 분포 2 : 평균 = 4, 표준편차 = 1 Numpy 모듈을 통하여 위에서 가정한 분포를 따라 데이터들을 추출한 코드는 아래와 같습니다. import numpy as np data1 = np.rand..

네이버 연결 거부 오류 해결하기

"www.naver.com에서 연결을 거부했습니다." 오류 해결법 안녕하세요. 브라우저에서 네이버 사이트에 로그인 시 아래와 같이 회색 화면이 뜨면서 마이 페이지 정보 등이 제대로 뜨지 않을 경우 해결 방법을 알아보겠습니다. 해결 방안 : 캐시 및 쿠기 삭제하기 다른 원인도 있을 수 있으나, 제가 위 문제를 해결했던 방안은 인터넷 사용 기록, 캐시 및 쿠기 삭제였습니다. 절차는 아래와 같습니다. 1. 크롬 상단 우측 점 세개 모양을 클릭 후, 설정 메뉴에 들어갑니다. 2. 윗 검색 창에 "캐시" 입력 후 인터넷 사용 기록 삭제 탭을 클릭해줍니다. 3. 모든 항목을 체크 후, 인터넷 사용 기록 삭제 버튼을 클릭합니다. 네이버 뿐만 아니라 다른 웹사이트에서 위와 같은 회색 화면이 등장하는 경우에도 같은 방식..

2022.06.08

[Numpy] 파이썬 삼각함수(sin, cos, tan)와 역삼각함수(arcsin, arccos, arctan) 메소드 정리

Python 넘파이 삼각/역삼각함수 사용법 예제 파이썬의 numpy 모듈에서 sin, cos, tan의 삼각함수를 나타내는 메소드와 arcsin, arccos, arctan의 역삼각함수를 나타내는 메소드에 대하여 다루어보고, math 라이브러리의 삼각/역삼각함수 메소드와 간단한 비교를 진행해보겠습니다. 삼각함수 메소드 : np.sin, np.cos, np.tan 넘파이 라이브러리에서는 기본적으로 사인, 코사인 및 탄젠트 함수에 대한 메소드만을 지원하며, 각도 단위가 아닌 라디안 단위로 input을 넣어주셔야 합니다. (삼각함수의 역수인 cosec, sec, cot에 대한 직접적인 메소드는 지원하지 않고 직접 sin, cos, tan에 역수를 취해서 사용해주셔야 합니다.) 우선, 각도 숫자 1개에 대한 삼..

Python/Numpy 2022.06.07

[Pandas] 파이썬 데이터프레임 고유값 목록, 개수 확인 : unique, nunique 함수(열 1개, 여러 개)

Python 판다스 distinct : unique, nunique 사용법 예제 파이썬의 데이터프레임에서 각 컬럼에 등장하는 유일한 값들의 목록과 개수를 추출하는 방법을 판다스의 unique와 nunique 함수의 사용법을 중심으로 살펴보도록 하겠습니다. 여기서는 열 1개와 여러 개에 대한 예제를 모두 다루어보겠습니다. 이해를 돕기 위하여 아래와 같이 매우 간단한 데이터프레임 df를 가정해보도록 하겠습니다. import pandas as pd a = {'A' : [1, 1, 1, 2, 2, 2], 'B' : ['가', '가', '나', '나', '다', '다']} df = pd.DataFrame(a) df unique 함수 예제 1 : column 1개 내에서 고유값 목록 추출 열 1개 내에서 등장한 값..

Python/Pandas 2022.06.07

[C언어] 정수 배열 및 문자열에서 중복 원소 찾기, 중복 제거 방법

C언어 배열 중복 탐색 및 제거 예제 C언어의 정수가 저장된 배열 혹은 문자열에서 2번 이상 등장한 값들의 목록을 찾는 방법과 중복을 제거하여 고유값만 남기는 방법에 대해서 다루어보도록 하겠습니다. 숫자(정수) 배열 내 중복 원소 찾기 가정 : 배열 a 내에는 0~n까지의 범위 내에서 정수가 등장할 수 있습니다. 풀이법 : n+1 사이즈의 등장 횟수 배열 check를 선언 후, a 배열의 원소를 순회하며 각 인덱스에 해당 숫자의 등장 횟수를 카운팅하고, 2 이상인 인덱스들만을 모아서 반환합니다. 0~4 범위에서 정수가 등장할 수 있는 경우의 간단한 예제에 대한 원리는 다음 그림처럼 표현할 수 있습니다. 해당 예제의 실제 C언어 구현 코드는 아래와 같습니다.(각 줄 코드의 설명은 주석을 참고하세요!) #i..

C & C++ 2022.06.06
반응형