본문 바로가기
마케팅/데이터 분석

[파이썬] DataFrame 기본기

by 퍼포마첼라 2025. 3. 13.

 

DataFrame 살펴보기

 

 

info()

데이터 프레임의 정보 확인하기

 

describe()

데이터 통계량 확인하기

 

include='all' (파라미터)

모든 컬럼에 대한 요약

 

sort_values(by='칼럼명')

특정 칼럼을 기준으로 정렬 (기본이 오름차순)

내림차순

 

기타

괄호가 붙어있는 것은 함수, 괄호가 없는 것은 변수라고 보면 된다.

head() # 데이터프레임의 앞에서 5행
tail() # 데이터프레임의 뒤에서 5행
info() # 데이터프레임 정보
sort_values()
describe()

dtypes # 데이터 프레임 타입
shape # 데이터프레임 크기

엑셀 파일 불러오기

 

항상 csv만 불러왔는데 excel을 불러오고 싶다면 아래와 같이 작성하면 된다.

loan_df = pd.read_excel('data/loan.xlsx')

그렇지만 엑셀은 몇 가지 파라미터를 설정해주어야 한다.

 

 

여러개의 시트로 이루어져 있을 때, 어떤 시트에서 불러올지 정해준다.

loan_df = pd.read_excel('data/loan.xlsx', sheet_name=1)
#인덱스는 0부터 시작 1은 두 번째 시트를 의미함

 

A1셀부터 시작되지 않는 경우 시작 행과 열을 설정해준다.

loan_df = pd.read_excel('data/loan.xlsx', sheet_name=1, header=3, usecols='B:H')
#header 0,1,2,3 : 4번째 줄에 컬럼명이 있으니 3으로 작성
#usecols : B열부터 H열까지 데이터가 있으니까 B:H로 작성

 


인덱스, 컬럼명, 데이터 타입 설정하기

 

인덱스 변경하기

그냥 숫자 0~ 인덱스 말고, 의미있는 컬럼을 인덱스로 지정할 수 있다.

이때 그냥 쓰면 리턴하고 끝이니까 다시 정의를 해주어야 됨

 

인덱스 리셋하기

 

columns 만 보기

 

columns 이름 바꿔주기

 

딕셔너리를 만들어서 특정 컬럼만 이름 바꿔주기

 

데이터 타입 바꿔주기

이것도 타입 바꾼 걸 다시 저장해주어야 한다.

 


Series 살펴보기

 

특정 칼럼을 불러오면 시리즈로 결과가 출력된다.

 

시리즈도 타입을 확인할 수 있고, 통계 요약 정보도 확인할 수 있다.

 

오브젝트 타입의 컬럼도 똑같이 사용 가능하다.

 

특정 컬럼의 데이터 종류 가져오기

 

데이터가 몇 개 있는지 확인하기 (그러나 nan값은 안 나옴)

 

NaN값까지 나오게 하는 법

 

차지하는 비율을 확인하는 방법

 

데이터 프레임과 시리즈 차이

df[['amount']]
df['amount']

 

실습 1

import pandas as pd

loan_df = pd.read_csv('data/loan.csv')
loan_df = loan_df.set_index('loan_id')
new_columns = {'married_or_not': 'married',
               'self_employed_or_not': 'self_employed',
               'applicant_income': 'income',
               'loan_amount': 'amount'}
loan_df = loan_df.rename(columns=new_columns)

# 여기에 코드를 작성하세요.
loan_df['property_area'].value_counts(dropna=False, normalize=True)

 

 


여러 개의 조건으로 불린 인덱싱하기

 

 

기본 데이터프레임

 

각 조건을 변수에 저장하고 원하는 조건대로 인덱싱하기

 

이렇게 짧은 조건은 변수에 저장하지 않고 한 번에 써도 됨

 

 

 

실습 1

import pandas as pd

loan_df = pd.read_csv('data/loan.csv')
loan_df = loan_df.set_index('loan_id')
new_columns = {'married_or_not': 'married',
               'self_employed_or_not': 'self_employed',
               'applicant_income': 'income',
               'loan_amount': 'amount'}
loan_df = loan_df.rename(columns=new_columns)

# 여기에 코드를 작성하세요.
condition1 = loan_df['loan_status'] == 'Y'
condition2 = loan_df['self_employed'] == 'N'
condition3 = loan_df['income'] >= loan_df['income'].median()

group1 = loan_df[condition1 & condition2 & condition3]
group1

 


데이터 삭제하기

 

drop()

 

drop은 row를 삭제하는 함수라서 columns 삭제할 땐 지정을 해줘야한다.

 

axis

row 방향은 0

column 방향은 1

 

실습 1

import pandas as pd

loan_df = pd.read_csv('data/loan.csv')
loan_df = loan_df.set_index('loan_id')
new_columns = {'married_or_not': 'married',
               'self_employed_or_not': 'self_employed',
               'applicant_income': 'income',
               'loan_amount': 'amount'}
loan_df = loan_df.rename(columns=new_columns)

# 여기에 코드를 작성하세요.
loan_df = loan_df.drop('loan_status', axis = 1)
loan_df

 


 

가공한 데이터 내보내기

csv

to_csv()는 인덱스에 있는 값들을 컬럼으로 만들어버린다.

내가 컬럼을 loan_id로 변경한 뒤 저장했는데도, 다시 읽어들이면 맨 앞에 숫자 인덱스가 붙는 걸 볼 수 있다.

이때 index를 False로 바꾸면된다. 

 

Excel

to_excel()

 


코드잇 13. DataFrame 기본기

 

'마케팅 > 데이터 분석' 카테고리의 다른 글

[파이썬] 문자 데이터 가공하기  (0) 2025.03.13
[파이썬] 데이터 다듬기  (0) 2025.03.13
[파이썬] seaborn  (0) 2025.03.13
[파이썬] 통계 기본 상식과 그래프  (1) 2025.03.09
[파이썬] pandas  (0) 2025.02.25