반응형
Python/Pandas2023. 10. 9. 11:06pandas의 read_csv 함수에 사용되는 경로 문자열 앞에 r을 붙이는 이유

pandas의 read_csv 함수에 사용되는 경로 문자열 앞에 r을 붙이는 이유를 다룹니다. 2022. 12. 5 최초작성 read_csv 함수에 경로 문자열을 추가시 디렉토리 구분자로 \를 사용할 경우에 문제가 생길 수 있습니다. 디렉토리 이름이 n으로 시작하면 \n이 이스케이프 문자로 인식되어 문제가 되어 다음처럼 에러가 발생합니다. import pandas as pd df = pd.read_csv('.\new\test.csv') Traceback (most recent call last): File "d:\code\Python\pandas_read_csv.py", line 4, in df = pd.read_csv('.\new\test.csv') File "C:\Users\webnautes\mini..

Pandas DataFrame 숫자 아닌 값을 0으로 처리하기
Python/Pandas2023. 10. 9. 10:59Pandas DataFrame 숫자 아닌 값을 0으로 처리하기

pandas의 DataFrame에서 숫자가 아닌 값을 0으로 처리하는 예제입니다. 2023. 6. 17 최초작성 import pandas as pd # DataFrame 생성 df = pd.DataFrame([[1.5, '2.7', '3.2'], ['4.1', 5, '6.0']]) print(df) print() 해당 열의 값이 정수나 실수가 아니면 0으로 변경합니다. df[0] = df[0].apply(lambda x: x if isinstance(x, (int, float)) else 0) df[1] = df[1].apply(lambda x: x if isinstance(x, (int, float)) else 0) df[2] = df[2].apply(lambda x: x if isinstance(x,..

Python/Pandas2023. 10. 9. 10:50Pandas – groupby를 사용하여 특정열 기준으로 DataFrame의 데이터 그룹 나누기

groupby를 사용하여 특정열 기준으로 DataFrame의 데이터 그룹 나누는 Pandas 예제 코드입니다. 2022. 10. 21 최초작성 import pandas as pd # DataFrame은 2개의 컬럼으로 구성되며 alphabet 컬럼의 값을 기준으로 그룹을 나누려고 합니다. data = pd.DataFrame([[1, 'a'],[2, 'a'],[3,'b'],[4,'b'],[5,'b'],[4,'c']], columns=['number', 'alphabet']) print(data) number alphabet 0 1 a 1 2 a 2 3 b 3 4 b 4 5 b 5 4 c # alphabet 컬럼의 값을 기준으로 그룹으로 묶을 수 있도록 합니다. groups = data.groupby('al..

Python/Python 예제 코드2023. 10. 8. 22:29Python에서 Ctrl+C 감지하기

Python에서 Ctrl+C를 감지하는 예제 코드입니다. 윈도우와 우분투에서 동작이 됩니다. 2022. 12. 15 최초작성 프로그램을 실행하면 아무 출력없이 대기상태가 되는데 Ctrl+C를 누르면 프로그램이 종료합니다. import signal import sys # Ctrl+C 감지시 실행되는 함수입니다. def signal_handler(sig, frame): # 메시지를 출력하고 프로그램을 종료합니다. print('You pressed Ctrl+C!') sys.exit(0) # Ctrl+C를 누른것을 감지하면 signal_handler 함수를 호출하도록 합니다. signal.signal(signal.SIGINT, signal_handler) print('Press Ctrl+C') # 무한 루프로 ..

miniconda/anaconda 사용 디스크 크기 줄이기
Python/Python 개발환경2023. 10. 8. 22:12miniconda/anaconda 사용 디스크 크기 줄이기

miniconda/anaconda에서 사용하는 디스크 크기를 줄이는 방법에 대해 다룹니다. 2023. 9. 10 최초작성 /home/사용자이름/miniconda3/pkgs 디렉토리(Anaconda 에선 다른 경로)는 Miniconda (또는 Anaconda) 환경에서 패키지들을 설치할 때 임시적으로 다운로드 받은 파일들이 저장되는 위치입니다. 패키지를 설치한 후에는 필요하지 않으므로 디스크 공간을 확보하기 위해 일부를 지울 수 있습니다. 우선 다음 명령으로 사용중인 디스크 공간의 크기를 체크해봅니다. anaconda를 사용중이라면 경로에서 miniconda3를 anaconda3로 변경하면 될 것입니다. du -sh ~/miniconda3/pkgs/ du -sh ~/anaconda3/pkgs/ 확인해보니 ..

Thread에서 사용한 Python Queue 간단한 예제
Python/Python - 스레드&프로세스2023. 10. 7. 06:57Thread에서 사용한 Python Queue 간단한 예제

하나의 스레드에서 큐에 데이터를 넣고 다른 쓰레드에서 큐에서 데이터를 꺼내는 간단한 예제 코드입니다. 아래 링크를 참고했습니다. https://docs.python.org/3/library/queue.html 2022. 09. 03 최초작성 2023. 01. 21 큐 모듈 변경. import threading from multiprocessing import Queue def producer(): count = 0 while True: lock.acquire() # 전역 변수 접근을 금지합니다. if not q.full(): # 큐가 꽉차지 않았다면 count = count +1 q.put_nowait(count) # 큐에 데이터를 넣습니다. print(f'push item {count}') lock.r..

Jupyter notebook에서 plotly 사용하는 예제
Python/Jupyter notebook2023. 10. 7. 06:39Jupyter notebook에서 plotly 사용하는 예제

Jupyter notebook에서 plotly를 사용하는 예제 코드입니다. 2022. 10. 23 최초작성 필요한 패키지를 설치해야 합니다. pip install plotly nbformat 클래스별 샘플 개수를 막대 그래프로 그리는 예제코드입니다. import plotly.graph_objs as go import plotly yes = 100 no = 25 trace = go.Bar(x = (no, yes), y = ['No', 'Yes'], orientation = 'h', opacity = 0.8, marker=dict( color=['gold', 'lightskyblue'], line=dict(color='#000000',width=1.5))) layout = dict(title = 'Count..

Python/Pandas2023. 10. 7. 06:36Pandas의 read_csv 함수 느린 속도 개선하기

Pandas의 read_csv 함수의 느린 속도를 개선하는 방법을 다룹니다. 2022. 03. 11 최초작성 csv 파일을 하나 읽어서 작업할 때에는 Pandas의 read_csv 함수가 느리다는 것을 알지 못했는데 대량의 csv 파일을(정확히는 196,032개) 로드해보니 느리다는 것을 알 수 있었습니다. 개선할 방법을 찾아보니 read_csv의 engine 아규먼트에 pyarrow를 지정하는 방법이 있었습니다. 앞에서 했던 196,032개의 csv 파일을 로드하는 시간이 3분에 1로 감소했습니다. df = pd.read_csv("large.csv", engine="pyarrow") 속도는 빨라지지만 단점이 있다면 기존 read_csv와 완벽히 호환이 안되서 nrows 같은 아규먼트를 사용할 수 없습니..

Matplotlib 예제 – 하나의 figure에 여러 개의 이미지 출력하기
Python/Matplotlib2023. 10. 7. 06:35Matplotlib 예제 – 하나의 figure에 여러 개의 이미지 출력하기

하나의 figure안에 여러 개의 이미지를 출력하는 예제코드입니다. figure 안에 여러 개의 subplot이 존재할 수 있고 subplot마다 하나의 그래프나 이미지가 그려지게 됩니다. 2022. 10. 19 최초작성 import cv2 import numpy as np import matplotlib.pyplot as plt # 가로 길이, 세로 길이. 인치 단위 plt.figure(figsize=(7, 10)) for i in range(20): # 열개수 4개, 행 개수 5개 짜리 그리드를 생성한 후, 인덱스 i+1 번째를 사용 plt.subplot(5, 4, i + 1) # 빈 이미지에 인덱스 숫자를 출력 img_empty = np.zeros((150,150,1), dtype=np.uint8)..

Python/Pandas2023. 10. 7. 06:31Pandas drop 예제

Pandas에서 drop을 사용하여 DataFrame의 열 또는 행을 삭제하는 예제입니다. 2022. 10. 31 최초작성 import pandas as pd df = pd.DataFrame({ 'alphabet': ['a', 'b', 'c', 'd'], 'integer' : [1, 2, 3, 4], 'blood type': ['A', 'B', 'AB', 'O'], }) print(df) ''' alphabet integer blood type 0 a 1 A 1 b 2 B 2 c 3 AB 3 d 4 O ''' # 행을 지우려면 행 인덱스 번호와 axis=0을 사용해야 합니다. # 두번째, 세번째 행이 삭제됩니다. df = df.drop([1,2], axis=0) print(df) ''' alphabet ..

반응형
image