Pandas
.insert(loc, column, value)
▶ loc : 새 컬럼을 넣을 위치(0부터 시작하는 인덱스)
▶ column : 새 컬럼의 이름
▶ value : 새 컬럼에 들어갈 값(리스트, Series 등)
import pandas as pd
# 예시 DataFrame 생성
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6]
})
# 새로운 컬럼 'C'를 열 인덱스 1 위치에 추가
df.insert(1, 'C', [10, 20, 30])
print(df)
내가 작성한 코드
import os
def process_sheet(file_path, output_path):
# 입력 파일 존재 여부 및 출력 디렉터리 확인
if not os.path.isfile(file_path):
print("❌ 입력한 파일 경로가 존재하지 않습니다.")
return
if not os.path.isdir(output_path):
print("❌ 변환 경로가 존재하지 않습니다.")
return
# low_memory=False로 해두면 파일 크기가 매우 큰 경우에는 메모리 사용량이 많아질 수 있지만 파일을 더 천천히 읽을 수 있게 되어, 데이터 타입 추론이 더 정확해짐
df = pd.read_csv(file_path, low_memory=False)
"""
1. Creation Date -> created_date
2. Modified Date -> modified_date
3. id 컬럼은 맨 뒤에 추가
"""
# 'created_date'와 'modified_date'를 해당 컬럼 바로 뒤에 삽입
df.insert(df.columns.get_loc('Creation Date') + 1, 'created_date', pd.NA)
df.insert(df.columns.get_loc('Modified Date') + 1, 'modified_date', pd.NA)
# 'id' 컬럼은 마지막 열에 추가
df['id'] = None
# 'created_date'와 'modified_date'를 해당 컬럼 바로 뒤에 삽입
df.insert(df.columns.get_loc('Creation Date') + 1, 'created_date', pd.NA)
df.insert(df.columns.get_loc('Modified Date') + 1, 'modified_date', pd.NA)
# 'id' 컬럼은 마지막 열에 추가
df['id'] = None
실제로 사용할 때는 csv 파일의 컬럼 수가 너무 많기 때문에
import os
df.insert(df.columns.get_loc('Creation Date') + 1, 'created_date', pd.NA)
df.insert(df.columns.get_loc('컬럼명') 이렇게 해서 원하는 컬럼의 위치를 가지고 옵니다.
그러고 해당 컬럼의 바로 뒤에 추가하고 싶으니까 + 1을 해주면 원하는 위치에 컬럼이 생성됩니다.
💡 pd.NA
사용 가능 dtype : nullable(Int64, string 등)
연산 가능? : 명확하지 않으면 오류 발생
목적 : Pandas 전용 결측값
0 1 1 2 2 <NA> dtype: Int64 ← 정수 유지됨!
'🔥 공부 > 🐼 Pandas' 카테고리의 다른 글
| [🐼 Pandas] df.at[]과 df.loc[], df.iloc[]의 차이 (0) | 2025.05.12 |
|---|---|
| [🐼 Pandas] csv 파일 속, 빈칸 유무 확인 (0) | 2025.05.12 |
| [🐼 Pandas] 특정 칼럼명의 null 값에 원하는 문구로 채우기 (0) | 2025.05.12 |
| [🐼 Pandas] 기초 통계, 열 선택, 새로운 열 추가, 조건에 맞는 행 필터링, 행 또는 열 정렬, 결측치 처리 (0) | 2025.05.12 |
| [🐼 Pandas] Pandas의 이론, Series&DataFrame, 데이터 불러오기와 저장하기, 데이터 미리 보기 (0) | 2025.05.09 |