★ 복사의 두 종류
- 얕은 복사(shallow copy) ~ data = df [data가공 시 원본 데이터인 df까지 변경될 수 있다.]
- 깊은 복사(deep copy) ~ data = df.copy() [서로 개별적으로 인식되어 가공하여도 df가 변경되지 않는다.]
1. 데이터 깊은 복사 : df.copy()
# 결측치 존재하는 데이터
df = pd.read_csv("https://raw.githubusercontent.com/NeatyNut/csv/main/sample2_csv.csv")
data = df.copy()

2. 데이터 삭제 : [행 삭제] df.drop(인덱스번호, axis=0) [컬럼 삭제] df.drop("컬럼명", axis=1)
1) 행 삭제
data = data.drop(5, axis=0) # axis는 생략가능
data

★ 인덱스를 리스트로 담아도 사용 가능
data = data.drop([1,2], axis=0) # axis는 생략가능
data

2) 열 삭제
data = data.drop("거리", axis=1)
data

★ 동일하게 리스트에 담아서 삭제 가능
data = data.drop(["거리","별점"], axis=1)
data

3. 데이터 결측치 다루기
1) 결측치 확인 : isnull()
data.isnull() # 컬럼별 T/F 변환 ~ Null이면 T
data.isnull().sum() # 컬럼별 널값 숫자 확인 T=1/F=0인걸 이용하여 합산.

★ T 또는 Transpose() 를 하여 전치하면 행별 결측치 개수 또한 쉽게 확인 가능하다.

2) 결측치 채우기 : fillna()
data["별점"] = data["별점"].fillna(3) # 별점의 결측치를 3으로 채움
data

3) 결측치 삭제하기 : dropna()
data = data.dropna(axis=0) # 행 기준(axis 생략가능)
data = data.dropna(axis=1) # 열 기준

'Python > Pandas' 카테고리의 다른 글
Pandas의 기초 - 데이터 가공(정렬, 그룹핑) (4) | 2023.11.21 |
---|---|
Pandas의 기초 - 데이터 선택 (0) | 2023.11.20 |
Pandas의 기초 - 데이터 확인 (1) | 2023.11.20 |
Pandas의 기초 - Series와 DataFrame 만들기 (1) | 2023.11.20 |
Pandas의 기초 - Series와 DataFrame (0) | 2023.11.20 |