Python 공부 | Pandas로 데이터 확인, 데이터 타입 변경

2024. 12. 23. 16:37·Python

데이터 확인

  • .head() : 데이터를 N개 행까지 보여줌
data.head() # head()은 기본 5개 행에 대한 데이터를 보여줌
data.head(3) # ()안에 숫자만큼 데이터를 보여줌

  • Info() : 데이터의 정보를 파악 (인덱스, 컬럼명, 컬럼의 데이터 개수, 데이터 타입) `강사님이 자주 쓰는거`
data.info() 
# null 값을 확인할때도 활용

  • .describe() : 데이터의 기초통계량 확인 (개수, 평균, 표준편차, 사분위, 중앙값)
data.describe()
# 숫자값에 대해서만 기초통계량 확인이 가능합니다.


데이터 불러온 후 반드시 확인 할 것

  • 결측치(null) 없는지
    • 결측치 제거하는 방법
# 결측치 확인 : isna()
df.isna()

# 결측치 확인 : isnull()
df.isnull().sum() # 이렇게하면 결측치가 몇개있는지도 알 수 있어요 !

# 결측치 제거 : dropna()
df.dropna()

결측치 있는 데이터 만들고
확인해보면 True로 나옴

  • 중복 데이터 없는지 
    • 중복 데이터 제거하는 방법
# 중복 데이터 확인
df.duplicated(subset=['컬럼1', '컬럼2', '컬럼3'])

# 중복 데이터 제거
df.drop_duplicates(subset=['컬럼1', '컬럼2', '컬럼3'])
  • 데이터 이상치 없는지
    • 이상치 처리하는 방법
# IQR (Interquartile Range) 방법 찾아보기
# 참고 : https://www.scribbr.com/statistics/interquartile-range/

# IQR 계산
Q1 = df['컬럼1'].quantile(0.25)
Q3 = df['컬럼1'].quantile(0.75)
IQR = Q3 - Q1

# 이상치 기준 설정
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR

# 이상치 제거
df[(df['컬럼1'] >= lower_bound) & (df['컬럼1'] <= upper_bound)]
  • 데이터 타입이 알맞게 들어가있는지
# 데이터 타입 변경을 원한다면 ! 
df['column_name'].astype(int)
df['column_name'].astype(float)
df['column_name'].astype(str)
df['column_name'].astype(bool)
df['column_name'].astype('category')
df['column_name'].astype('datetime64[ns]')
df['column_name'].astype(complex)
df['column_name'].astype(object)

데이터 타입 변경

데이터 타입(Data Type)  설명(Description) 예시(Example)
int64, int32 정수형 데이터 (64비트 또는 32비트) 1, 42, -10, 1000
float64, float32 부동 소수점 수 (64비트 또는 32비트) 3.14, -0.001, 2.718
object 문자열 데이터 (일반적으로 문자열) 'Hello', 'Data Science'
bool 불리언(참/거짓) 데이터 True, False
datetime64 날짜와 시간 데이터 '2023-12-31 08:00:00'
timedelta64 시간 간격(두 날짜 또는 시간 사이의 차이) 데이터 '3 days', '2 hours'
category 카테고리형 데이터 (제한된 고유 값으로 구성) 'Red', 'Blue', 'Green'

 

  • 데이터 타입 확인
    • .dtype()
# 데이터 타입 확인
df['size'].dtype

  • 데이터 타입 변경 기본 구조
    • .astype()
DataFrame['column_name'] = DataFrame['column_name'].astype(new_dtype)
# 예시
# 데이터타입 변경
df['total_bill'].astype(str)

참고로 그냥 astype으로 바꾸기만 하면 위와 같이 .dtype했을 때 똑같이 나오니까 다시 꼭 담아줘야 함.

`df[칼럼명] = df[칼럼명].astype(바꿀 데이터 타입)` 하고나면,

아래와 같이 dtype('0') (= 데이터 타입 object) 라고 나오고 info에도 object로 변경되어 나옴.

그리고 여기서 다시 int로 바꿀 때 값에 소수점이 있으면 안 바뀌고 오류가 나기 때문에 float으로 바꾸고 다시 int로 바꿈

df['B'] = df['B'].astype(float).astype(int) # 이렇게!
df['B'].dtype

 

'Python' 카테고리의 다른 글
  • Python 실습 | 웹 크롤링
  • Python 공부 | Pandas로 데이터 선택하기
  • Python 공부 | Pandas로 데이터 불러오기/저장하기
  • Python 실습 | 두 수의 차, 곱, 몫,합 구하기, 나이 출력, 숫자 비교, 짝수의 합, 배열의 평균값
초담
초담
4년차 마케터입니다
  • 초담
    그로스마케터의 기록
    초담
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (117)
      • Data Analytics Project (3)
      • SQL (55)
      • Python (43)
      • GA4 (0)
      • Tableau (8)
      • 아티클 스터디 (7)
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
초담
Python 공부 | Pandas로 데이터 확인, 데이터 타입 변경
상단으로

티스토리툴바