-
전처리 데이터로 그래프 만들기 2pandas 2024. 11. 25. 09:18
1. 파일 이름 가져오기
Python의 os 모듈을 사용해 파일 이름을 가져올 수 있습니다.
import os import pandas as pd # 파일 경로 설정 file_path = "data/sample_file.csv" # 파일 이름만 추출 file_name = os.path.basename(file_path).split('.')[0]
2. 데이터 읽기 및 파일 이름 컬럼 추가
파일에서 데이터를 읽어온 뒤, 컬럼으로 파일 이름을 추가합니다.
# CSV 파일 읽기 df = pd.read_csv(file_path) # 파일 이름을 새로운 컬럼으로 추가 df["file_name"] = file_name print(df)
3. 여러 파일 처리하기 (딕셔너리 활용)
여러 파일을 처리하면서 파일 이름을 Key로 사용하려면 딕셔너리를 활용할 수 있습니다.
# 파일 리스트 (예시) file_list = ["data/file1.csv", "data/file2.csv"] # 파일 이름을 Key로 사용하는 딕셔너리 생성 dataframes = {} for file in file_list: file_name = os.path.basename(file).split('.')[0] dataframes[file_name] = pd.read_csv(file) # 딕셔너리 사용 예시 for key, df in dataframes.items(): print(f"Data from {key}:") print(df.head())
4. 데이터프레임에 파일 이름 컬럼을 추가하면서 병합
모든 데이터를 하나의 데이터프레임으로 병합하려면 아래처럼 처리할 수 있습니다.
all_data = [] for file in file_list: file_name = os.path.basename(file).split('.')[0] df = pd.read_csv(file) df["file_name"] = file_name all_data.append(df) # 병합된 데이터프레임 생성 merged_df = pd.concat(all_data, ignore_index=True) print(merged_df)
요약
- os.path.basename: 파일 이름 추출
- split(): 확장자 제거
- pd.concat: 데이터프레임 병합
- 딕셔너리: 여러 파일을 Key-Value 구조로 관리
이 방법을 활용하면 파일 이름을 Key로 데이터프레임을 관리하거나 컬럼으로 추가할 수 있습니다. 필요한 방식에 따라 코드를 수정하면 됩니다.
1. merge()로 중복된 값을 병합
merge()는 두 데이터프레임을 특정 키(열)를 기준으로 병합합니다.
- 중복된 키가 있다면 Cartesian Product(모든 조합)를 생성합니다.
- 필요에 따라 중복 값을 병합하거나 다르게 처리할 수 있습니다.
import pandas as pd df1 = pd.DataFrame({ "ID": [1, 2, 3], "Name": ["Alice", "Bob", "Charlie"] }) df2 = pd.DataFrame({ "ID": [1, 1, 2], "Value": [100, 200, 300] }) # 'ID'를 기준으로 병합 merged_df = pd.merge(df1, df2, on="ID", how="inner") print(merged_df)
'pandas' 카테고리의 다른 글
Flourish (0) 2024.11.25 전처리 데이터로 그래프 만들기 2 (0) 2024.11.25 pandas와 한 몸 전처리의 마지막 matplotlib (1) 2024.11.22 pandas의 시각화 - 차트 (0) 2024.11.22 pandas 수 많은 데이터를 한 번에 가져오는 방법 (1) 2024.11.21