[Python] Pandas DataFrame에서 값이 저장되지 않는 이유와 해결 방법
·
개발 (Development)/Python
Pandas를 사용하다 보면 DataFrame의 특정 값을 분명히 수정했음에도 불구하고, 실제로 반영되지 않거나 경고 메시지가 출력되는 경우가 있습니다. 본 글에서는 이런 문제가 왜 발생하는지, 어떻게 해결할 수 있는지에 대해 구체적으로 설명드리겠습니다.문제 상황: 분명히 값을 수정했는데 반영되지 않음다음과 같이 조건에 맞는 행을 추출한 후 값을 변경했지만, 원본에는 적용되지 않는 경우가 종종 있습니다.df = original_df[original_df['score'] > 60]df['grade'] = 'Pass'위 코드는 실행 시 SettingWithCopyWarning이라는 경고를 출력하며, 때때로 실제 데이터는 수정되지 않은 채 남아 있게 됩니다. 이 경고는 많은 사용자들이 처음 Pandas를 사용..
[Python] Pandas DataFrame에서 for문을 이용해 특정 컬럼 값 변경하기
·
개발 (Development)/Python
pandas를 사용하다 보면 DataFrame의 각 행을 순회하면서 특정 컬럼의 값을 조건에 따라 변경해야 할 때가 있습니다. 가장 직관적인 방법은 for문을 사용하는 것이며, 본 글에서는 그 기본 사용법을 소개합니다.1. 예시 데이터프레임 생성우선 간단한 예시 데이터프레임을 생성합니다.import pandas as pddf = pd.DataFrame({ 'name': ['Alice', 'Bob', 'Charlie'], 'score': [85, 90, 78]})2. for문으로 특정 컬럼 값 변경이제 for문을 통해 score 컬럼이 80보다 작은 경우, 해당 값을 80으로 변경해보겠습니다.for idx, row in df.iterrows(): if row['score'] 이 코드는 각 ..
[Python] Docker image load
·
개발 (Development)/Python
Python을 사용하여 특정 폴더 내의 .tar 파일들을 찾아 각각 docker load -i [file.tar] 명령어를 실행하는 방법을 정리합니다.1. 코드 구현다음은 Python 코드로 특정 폴더에서 .tar 파일을 찾아 Docker에 로드하는 방법입니다.import osimport subprocess# 대상 폴더 설정 (현재 디렉토리 기준)target_folder = "./images"# 폴더 내의 모든 .tar 파일 찾기tar_files = [f for f in os.listdir(target_folder) if f.endswith(".tar")]# 각 .tar 파일을 docker load 실행for tar_file in tar_files: tar_path = os.path.join(tar..
[PostgreSQL] 특정 데이터베이스에 접속하기
·
개발 (Development)/PostgreSQL
PostgreSQL 데이터베이스에 특정 DB(test_db)로 접속하는 방법을 소개합니다. 다양한 환경에서 손쉽게 접속할 수 있는 명령어와 코드 예제를 정리했습니다.1. psql 명령어 사용 (터미널)터미널에서 psql 명령어를 사용해 PostgreSQL에 접속할 수 있습니다.기본 형식:psql -h [호스트] -p [포트] -U [사용자명] -d test_db예시:psql -h localhost -p 5432 -U myuser -d test_db-h : 호스트 주소 (기본은 localhost)-p : 포트 번호 (기본은 5432)-U : 사용자명-d : 데이터베이스 이름 (test_db)접속 후 프롬프트(test_db=>)가 나타나면 SQL 쿼리를 실행할 수 있습니다.Tip: PostgreSQL이 설치..
[Python] pandas를 이용한 DataFrame 차집합 구하기
·
개발 (Development)/Python
pandas를 이용한 DataFrame 차집합 구하기두 DataFrame 간 특정 컬럼을 기준으로 데이터 차집합을 구하는 방법은 데이터를 정리하고 분석할 때 자주 사용됩니다. 예를 들어, 두 데이터셋의 공통 컬럼을 기준으로 df_a에는 존재하지만 df_b에는 없는 데이터를 필터링하고 싶을 때 pandas를 사용하여 쉽게 구현할 수 있습니다.여기서는 physical_name이라는 컬럼을 기준으로 df_a - df_b의 차집합을 구하는 방법을 소개합니다.예제 데이터 생성import pandas as pd# DataFrame 예시 생성df_a = pd.DataFrame({ 'physical_name': ['a', 'b', 'c', 'd'], 'value': [1, 2, 3, 4]})df_b = pd..