본문 바로가기
코딩/Python

[KT AICE] Pandas 기초 - Dataframe 살펴보기

by JuBro 2024. 8. 14.
DataFrame 생성방법
    • 일단 pandas import 하기

 

import pandas as pd
    • 딕셔너리로 생성 ➡️ column 단위로 생성됨
a1=pd.DataFrame({"a":[1,2,3],"b":[4,5,6],"c":[7,8,9]})
  a b c
0 1 4 7
1 2 5 8
2 3 6 9
    • 리스트로 생성 ➡️row 단위로 생성됨
a2=pd.DataFrame([1,2,3],
		[4,5,6],
		[7,8,9],columns=['a','b','c'])
  a b c
0 1 2 3
1 4 5 6
2 7 8 9
    • 파일을 불러서 생성
df=pd.read_csv('파일명.csv')

 

 

 

 

 

 

DataFrame 조회 기초 함수들
df.head 데이터의 앞 5개 라인 출력(index [0:4])  
df.tail 데이터의 뒤 5개 라인 출력(index[n-4:n])  
df.shape row와 column의 개수를 튜플로 반환함 (9930,15)
df.columns 컬럼명 확인, 리스트 형태로 반환  Index('base_ym','dpro_tgt_per_val','cust_ctg_type'] dtype='object')
df.info 데이터 타입, 각 아이템 개수 등을 출력함
df.describe 데이터 요약 통계량 나타냄

 

 

 

 

 

 

 

데이터 조회 방법

1. DataFrame에서 column 선택하기

- 기본적으로 []을 사용하여 column을 추출하되, 복수개를 가져오려면 리스트 활용

ex) cust[['name','phone_num','birth_day']]

 

2. 슬라이싱을 활용해 row 기준으로 데이터를 가져올 수 있음

ex) cust[3:6] ➡️ index 3,4,5의 row 데이터 가져옴

 

loc iloc
  • location의 약자로, 인간이 읽을 수 있는 label값으로 데이터 접근
  • 인덱스 번호, 컬럼 이름 기준으로 슬라이싱, 인덱싱
  • 행이나 열에 label로 접근
    • integer location의 약자로, 컴퓨터가 읽을 수 있는 인덱싱값으로 데이터 접근
    • 절대번호 기준으로 슬라이싱, 인덱싱 사용
    • 행이나 열에 인덱스 값으로 접근
cust.loc[10,'age']
>> 10 인덱스의 age 컬럼의 값 추출
cust.iloc[10,3]
>> 'age'의 column 인덱스가 3이라고 할때, 왼쪽 코드와 동일한 결과일 것이다.

 

 

3. column 추가/삭제

컬럼 추가 : 변수선언과 같이

cust['새로운 컬럼명'] = cust['기존 컬럼명'] *2

등등 하고싶은 계산식을 쓰면 알아서 추가됨

 

컬럼 제거 : cust.drop('컬럼명', axis=1 or 0)

⚠️여기서 axis는 스캔하는 방향으로, axis가 1일때는 가로 방향(column)을 스캔하고, axis가 0일때는 세로방향(row)을 스캔한다. 그래서 column을 제거하고 싶은데, axis=0을 준다면 오류가 발생하니 주의!

 

 

 

 

 

 

 

틀린 내용 지적 혹은 궁금한점 댓글 언제나 환영합니다!!