본문 바로가기

데이터 교육/파이썬

[파이썬] 데이터 프레임 기초 (pandas)

 

1. 데이터 프레임, DataFrame 생성

- 데이터프레임이란 열과 행으로 구성된 ''를 말한다.

- pandas라는 외부 라이브러리를 이용해 데이터 프레임을 만든다.

 

 

01) 외부 데이터(pandas 데이터) 불러오기 (import함수)

코드문 import pandas as pd

 

 

 

02)  dict를 활용하여 데이터 프레임 생성하기

코드문 df = pd.DataFrame( { 'a' : [1, 2, 3], 'b' : [4, 5, 6], 'c' : [7, 8, 9]})
df

 

 

02) 리스트를 이용하여 데이터 프레임 생성하기

코드문 a = [[1, 4, 7], [2, 5, 8],  [3, 6, 9]]
df2 = pd.DataFrame(a)
df2

 

*칼럼명 추가하기

기존의 컬럼명을 바꾸거나 추가할 때:

i)  df.columns = [ ] 

ii) df.rename(columns = { }, inplace = True)

코드문 df2.columns = ['a', 'b', 'c']

 

cf. 시리즈를 이용해 인덱스(열) 변경하기

a = pd.Series( [ ] ), index = [ ]


 

2. 예시: 아래 테이블과 같은 데이터 프레임을 만들어보자

 

예시 01) 

company 직원수
abc 400
회사 10
123 6

 

 

 

 

예시 02) 

company 직원수 위치
abc 400 Seoul
회사 10 NaN(결측값)
123 6 Busan

 

 

 

*외부라이브러리: numpy

 

함수 안에 공란을 두거나, NaN을 바로 입력하면 오류가 발생한다.

따라서, 결측값을 입력하기 위해 numpy(np)라는 라이브러리를 사용한다.

코드문 import numpy as np

오류발생

 

 

np를 적용하고 다시 실행해보면 결측값의 에러없이 정상적으로 출력된다

 

 


 

 

3. 특정 데이터 추출하기

*아래의 데이터 프레임에서 원하는 데이터를 추출하기

  a b c
0 1 11 21
1 2 12 22
2 3 13 23
3 4 14 24
4 5 15 25
5 6 16 26
6 7 17 27
7 8 18 28
8 9 19 29
9 10 20 30

 

 

01. 열 추출

df [ [ '추출하려는 컬럼명 입력하기'  ]  ]

 

 

02. 행 추출

: loc 함수 이용

df.loc [ 추출하려는 행 번호 입력 ]

 

 

 

03. 조건 두개 이상을 만족하는 데이터 추출

*문제1: a가 3이상 이고, b가 16미만인 데이터를 출력하시오

코드문  df[(df['a'] >= 3) & (df['b'] < 16)]

& 사용

 

 

 

*문제2: a가 3이하 이거나, 7이상인 값을 출력하시오

코드문 df[(df['a'] <= 3) | (df['a'] >= 7)]

| (shift + ) 사용

 

 


 

4. 기타 함수

01. 정렬

*인덱스(행) 기준: 

df.sort_index( )

ㄴ 기본은 오름차순

 

df.sort_index(ascending = False)

ㄴ 내림차순 정렬

 

 

* 컬럼(열) 기준:

df.sort_values( by = [ ] )

 

 

 


출처: 패스트 캠퍼스 - 한 번에 끝내는 데이터 분석 초격차 패키지 Online: Python