반응형

분류 전체보기 505

[R] 데이터프레임 값 변경/수정 방법 정리

R 프로그래밍 과정에서 데이터프레임의 특정 값들을 원하는대로 바꾸는 방법을 정리해보도록 하겠습니다. 예시로 df라는 변수에 아래의 데이터프레임이 저장되어 있다고 가정해보겠습니다. > df A B C 1 10 가 aaa 2 20 나 aaa 3 30 다 bbb 4 40 라 bbb 특정 위치 값 1개 변경 가장 간단한 예시로, 행과 열의 위치를 지정하여 값을 수정하는 방법입니다. R에서는 df[행 인덱스, 열 이름] = 값 형태로 할당해주시면 변경이 완료됩니다. > df[1, "A"] = 999 > df A B C 1 999 가 aaa 2 20 나 aaa 3 30 다 bbb 4 40 라 bbb 특정 행 전체 수정 특정 행의 값 전체를 변경하고 싶다면 df[행 인덱스, ] = 행 값 벡터 형태로 행 전체의 값들..

R 2022.10.05

파이썬 과학적 표기법(지수 표현) 출력 양식 지정 방법

Python Scientific Notation 파이썬에서 특정 수를 지수 표현으로 나타내어 1.23e+8, 4.753e-6과 같이 과학적 표기법으로 출력하는 방법을 정리해도록 하겠습니다. 일반적인 소수점 자릿수 출력 양식은 "%.2f"처럼 지정하는 반면, 과학적 표기법의 경우에는 "%.2e"처럼 f 대신 e로 지정해주시면 해당 자릿수까지 반올림되어 반영된 지수 표현으로 출력이됩니다. a = 1234567.89012 ### 기존 포맷팅 예시 ### print(a) # 1234567.89012 print("%.2f"%a) # 1234567.89 print("%.5f"%a) # 1234567.89012 ### 과학적 표기법 예시 ### print("%.2e"%a) # 1.23e+06 print("%.5e"%..

[C언어] 문자열 내 특정 문자(열) 등장 횟수 탐색 방법

C언어 특정 문자(열) 개수 세기(1글자, 여러 글자 모두 가능) 문자열 s 내에서 부분 문자열 find의 등장 횟수를 찾는 예시 코드는 아래와 같습니다. #include #include int main(){ char s[30] = "hello world! hello hello hi"; // 전체 문자열 char *find = "hello"; // 찾고 싶은 문자열 지정 char *ptr = strstr(s, find); // 첫 등장 위치 탐색 int cnt = 0; // 등장 횟수를 셀 변수 while (ptr != NULL) // 더이상 find 문자열이 등장하지 않을 때까지 반복 { ptr = strstr(ptr + 1, find); // 다음 등장 위치 탐색 cnt++; } printf("%s는..

C & C++ 2022.09.29

[Scipy] 파이썬 신뢰 구간 구하기 및 시각화 예제

Python에서 표본 집단의 신뢰 구간을 간략하게 구하는 방법을 정리해보고 막대 그래프에서 신뢰 구간 부분을 시각화하는 방법도 같이 살펴보겠습니다. 예시로 아래와 같이 두 샘플에 대한 값이 있다고 가정해보도록 하겠습니다. sample1 = [5, 10, 17, 29, 14, 25, 16, 13, 9, 17] sample2 = [21, 22, 27, 19, 23, 24, 20, 26, 25, 23] 파이썬 신뢰 구간 구하기 함수 : scipy.stats.t.interval 각 샘플에 대하여 자유도, 표본 평균 및 표준 오차를 구하고, scipy.stats.t.interval 메소드 내에 신뢰 수준 및 위에서 구한 세 가지 값을 순서대로 input으로 주시면 신뢰 구간을 손쉽게 구하실 수 있습니다. samp..

Python/Scipy 2022.09.28

[Pandas] 파이썬 데이터프레임 랜덤 샘플링 방법 : df.sample

Python의 판다스 모듈로 데이터프레임의 행들을 랜덤 추출할 수 있는 df.sample 기능에 대하여 사용 예제를 정리해보도록 하겠습니다. 이해를 돕기 위하여 아래의 데이터프레임 df에 대하여 행 샘플링을 진행해 보겠습니다. import pandas as pd df = pd.DataFrame({"이름" : ["AAA", "BBB", "CCC", "DDD", "EEE", "FFF", "GGG", "HHH", "III", "JJJ"], "반" : [1, 1, 1, 1, 1, 2, 2, 2, 2, 2], "점수" : [67, 100, 12, 85, 13, 92, 27, 5, 100, 98]}) df 특정 개수 샘플링 df.sample(n) 형태로 간단하게 n개의 행들을 임의 추출하는 것이 가능합니다. 여기서..

Python/Pandas 2022.09.27

[Numpy] 파이썬 eigenvalue, eigenvector 구하기 : np.linalg.eig

Python에서 주어진 배열의 고윳값(eigenvalue)와 고유벡터(eigenvector)를 쉽게 찾을 수 있는 넘파이 모듈 내 eig 함수에 대하여 사용법 예제를 살펴보겠습니다. np.linalg.eig 함수 기본 사용법 (n, n) 형태의 shape를 가지는 2차원 정방행렬에 대하여 np.linalg.eig(행렬) 형태로 바로 적용해주시면 됩니다. output은 eigenvalue를 모은 리스트, eigenvector를 모은 행렬 순서로 반환되며 각 i번째 고유값에 해당하는 고유벡터는의 i번째 열벡터에 해당되는 점을 참고해주세요. import numpy as np A = np.array([[1, 0, 1], [0, 1, 1], [1, 1, 0]]) A_eig_val, A_eig_vec = np.li..

Python/Numpy 2022.09.27

파이썬 한글 또는 영문만 추출하기 / 제거하기

Python에서 정규표현식을 활용하여 한글 혹은 영어만 남기거나 제거하는 코드를 간략하게 정리해 보겠습니다. 한글만 추출, 제거 re.sub 함수 내 정규표현식에서 자모는 ㄱ-ㅣ, 온전한 글자는 가-힣으로 커버하며, 아래와 같이 ^ 유무의 차이로 한글만 남기기 혹은 한글만 제거를 모두 수행할 수 있습니다. 또한, 공백의 포함/제거 여부도 \s 포함 여부로 같이 조정할 수 있습니다. import re my_str = "안녕하세요 ㅎㅎ. Hello World! 12345?" kor_str = re.sub(r"[^ㄱ-ㅣ가-힣\s]", "", my_str) # 한글 + 공백만 남기기 not_kor_str = re.sub(r"[ㄱ-ㅣ가-힣]", "", my_str) # 한글만 제거하기 not_zamo_str = ..

Python/Utils 2022.09.26

[Sklearn] 파이썬 모델 앙상블 : 배깅 / 부스팅 / 보팅 함수 정리

Python Model Ensemble(Bagging, Boosting, Voting) 파이썬에서 여러 머신러닝 모델의 앙상블을 진행하는 배깅, 부스팅 그리고 보팅과 관련된 사이킷런의 함수들을 간단한 예제를 통하여 이해하기 쉽도록 비교 정리해보도록 하겠습니다. 데이터셋 로드 및 전처리 우선, 이번 글에서는 사이킷런에서 제공하는 iris 데이터셋을 활용하겠습니다. 데이터셋을 불러오고 train / test 셋으로 분리하는 간단한 전처리 코드는 다음과 같습니다. from sklearn.datasets import load_iris import pandas as pd import numpy as np from sklearn.model_selection import train_test_split # 데이터셋 로..

Python/Sklearn 2022.09.25

[Sklearn] 파이썬 feature selection 함수 RFE, RFECV 예제

Python scikit-learn RFE, RFECV 파이썬에서 RFE와 RFECV 함수를 사용하여 feature selection을 진행하는 예제를 다루어보도록 하겠습니다. 데이터셋 로드 및 전처리 우선, 이번 글에서는 사이킷런에서 제공하는 유방암 분류 예측 데이터셋을 사용하겠습니다. 총 30가지 종류의 feature가 있으며, target 정보는 0과 1(악성 / 양성)의 이진 분류입니다. 우선, 데이터셋을 데이터프레임으로 불러오는 코드는 다음와 같습니다. import pandas as pd from sklearn import datasets # 유방암 데이터셋 로드 data = datasets.load_breast_cancer() df = pd.DataFrame(data.data, columns ..

Python/Sklearn 2022.09.24

[C언어] 배열, 문자열 슬라이싱 구현 예제

파이썬 등의 일부 프로그래밍 언어에서는 다음과 같이 특정 위치 부분을 추출하는 "슬라이싱"이라는 기능을 제공합니다. list_a = [1, 3, 5, 7, 9] str_a = "hello world!" # 파이썬 슬라이싱 예시 print(list_a[1:4]) # [3, 5, 7] print(str_a[2:6]) # "llo " 그렇다면 C언어에서도 배열이나 문자열에 대하여 위와 같은 슬라이싱을 적용할 수 있을까요? 결론부터 말씀드리면, 포인터 및 동적할당을 통하여 간접적인 방법으로는 가능합니다! 여기서는 정수 배열 및 문자열에 대하여 슬라이싱 기능을 하는 함수를 구현해보도록 하겠습니다. C언어 배열 슬라이싱 구현 arr_slicing(arr, start, end) 형태로 int 자료형 배열 arr, 시..

C & C++ 2022.09.23
반응형