본문 바로가기

프로그래밍/Python 관련 정보74

[Python - Frequently Used Code] pandas DataFrame 문자열 대체 이번 포스팅에서는 파이썬의 문자열 대체 방법에 대해서 한 번 정리해보도록 하겠습니다. 여느 때와 비슷하게 제가 나중에 찾아보려는 포스팅입니다. 1. str.replace()str.replace(old, new[, count]) old : 대체하고자 하는 문자열new : 새로 대체할 문자열count : 바꿀 횟수 (생략 시 모든 문자열 대체) 문자열 column(Series)에 대해 개별 문자열 데이터를 대체할 때 사용합니다. 기본 문자열 매서드로 문자열의 일부만 일치해도 해당 부분이 대체됩니다. import pandas as pddf = pd.DataFrame({'text': ['hello world', 'worldwide', 'hello']})df['text'] = df['text'].str.repla.. 2025. 2. 4.
[Default variable is mutable] Warning 파이썬에서 함수나 클래스를 작성할 때 가끔 이런 경고메시지가 나올 때까 있습니다(제가 IDE로 파이참을 쓰는데 파이참에서만 해주는 걸 수도..?). 보통 함수의 default값을 지정해 주면서 특히 이 default값이 list와 같은 mutable variable일 때 이런 에러가 발생하는데요. 이런 에러가 왜 발생하는지, 그리고 사고방지를 위해 어떻게 처리해야할 지 간단히 정리해보겠습니다.  일단 예를 들어 아래와 같은 함수를 살펴봅시다.def function(savelist=[]): savelist.append('TNT') return savelist 이 함수는 input으로 받은(default는 empty) list에 'TNT'라는 인자를 append하는 것이 주요 목적이라고 가정해보겠.. 2025. 1. 30.
[Python - Frequently Used Code] Random 패키지 random.random() : 0.0 이상 1.0 미만의 실수를 반환합니다.import random# 0.0 이상 1.0 미만의 난수 생성result = random.random()print(result) # 예: 0.7457397453918837 random.randint(a, b) : a 이상 b 이하의 정수(int)를 무작위로 반환합니다. 주의) 경계값 a, b가 포함됩니다.import random# 1 이상 10 이하의 정수 난수 생성result = random.randint(1, 10)print(result) # 예: 4 random.sample(population, k) : 주어진 리스트(population)에서 k개의 요소를 무작위로 비복원추출합니다.import random# 리스트에서.. 2024. 12. 18.
[Python - Frequently Used Code] Class input argument 코딩하다가 자주 (제가...) 마주치는 오류를 정리해보려고 합니다. 일단 제가 자주 범하는 실수는 ... 만일 함수나 클래스의 인풋 자체가 class일 경우인데요. class와 그 class의 instance는 분명 다른 개념입니다. 이런 경우에는 애초에 input argument로 instance를 받거나 그도 아니면 받아들이는 클래스 내부에서 instance화 해주어야 합니다.  # 올바른 방식1 : instance를 전달engine_instance = Engine(horsepower=150)car = Car(engine_instance)# 올바른 방식2 : 내부에서 instance화class Car: def __init__(self, engine): if isinstance(eng.. 2024. 11. 22.
[Python Programming 기초] __main__ Github코드를 보다보면 가끔 발견하는 __main__의 정체에 대해 간단히 알아볼까요?이 녀석은 import module의 코드를 실행하고 싶지 않을 때 사용하는 녀석입니다. 기본적으로 import 된 모듈은 "__name__"에 자신의 모듈명이 저장되어 있고, 현재 코드를 실행하는 모듈은 "__name__"에 "__main__"가 저장되어 있으므로 모듈을 직접 실행시키는 경우에만 모듈 내 테스트 코드가 실행되도록 하기 위한 코드입니다.  예를 들어# example_module.pydef greet(): print("Hello! This function is in example_module.")# 테스트 코드 또는 직접 실행하고 싶은 코드if __name__ == "__main__": pr.. 2024. 11. 11.
[Pycharm Tips] Debugging 파이참에서 Debugging관련된 내용은 주로 "F9"를 사용하고 F7, F8 등이 보조적으로 사용한다고 기억하시면 될 것 같습니다. (Debu99ing....ㅎㅎ) 디버깅 실행 윗 상단에 설정된 파일 디버깅 실행 : Shift + F9 실행하고 싶은 파일 중에 골라서 디버깅 실행 : Alt + Shift + F9 참고) Console 창이 있을 때는 Ctrl + F5도 가능 디버깅할 때는 "여기까지 일단 실행시키고 멈춰라"라고 명령하는 '중단점'이 필수죠?이 중단점 설정은 Ctrl + F8로 할 수 있습니다.(만약, 루프가 1000번 도는데 990번째 루프에서 어떤 일이 벌어지는 알고 싶다면 어떻게 하면될까요? 이럴 때는 중단점에 조건을 걸어주면 됩니다. 중단점(마커-빨간불)에 마우스 오른쪽 버튼을 클.. 2024. 11. 10.
728x90