다음은 책 '모두의 딥러닝'의 부록 부분에 해당하는 내용입니다.

 

모두의 딥러닝 - YES24

2년 연속 베스트셀러, 내용과 소스 코드 전면 업그레이드딥러닝 기초부터 최신 트렌드까지 한 권으로 공부하자그동안 딥러닝 입문서로 제 역할을 톡톡히 해낸 『모두의 딥러닝』이 최근 주목받

www.yes24.com

 

 

판다스(pandas)란?

판다스(pandas)는 데이터 분석과 관련된 다양한 기능을 제공하는 파이썬 라이브러리이다.

데이터를 쉽게 조작하고 다룰 수 있도록 도와주기 때문에 딥러닝, 머신 러닝을 공부할 때 많이 쓰인다.

 

A. 데이터 만들기

1. 판다스 라이브러리 불러오기

import pandas as pd

2. 데이터 프레임 만들기

df = pd.DataFrame(        # df라는 변수에 데이터 프레임을 담아 준다.
    {"a" : [4, 5, 6, 7],  # 열 이름을 지정해 주고 시리즈 형태로 데이터를 저장한다.
     "b" : [8, 9, 10, 11],
     "c" : [12, 13, 14, 15]},
     index=[1, 2, 3, 4])  # 인덱스는 1, 2, 3으로 정해 준다.

3. 데이터 프레임 출력하기

df # 데이터 프레임의 이름을 입력해 출력한다.

실행 결과

4. 데이터의 열 이름을 따로 지정해서 만들기

df = pd.DataFrame(        
    [[4, 8, 12],  
     [5, 9, 13],
     [6, 10, 14],
     [7, 11, 15]],
     index=[1, 2, 3, 4],
     columns=['a', 'b', 'c'])

실행 결과

5. 인덱스가 두 개인 데이터 프레임 만들기

df = pd.DataFrame(       
    {"a" : [4, 5, 6, 7],  
     "b" : [8, 9, 10, 11],
     "c" : [12, 13, 14, 15]},
     index=pd.MultiIndex.from_tuples( # 인덱스를 튜플로 지정한다.
         [('d', 1), ('d', 2), ('e', 1), ('e', 2)],
         names=['n', 'v']))           # 인덱스 이름을 지정한다.

실행 결과

 

B. 데이터 정렬하기

6. 특정 열 값을 기준으로 정렬하기

df.sort_values('a', ascending=False) # ascending=False를 적어 주면 역순으로 정렬

실행 결과

7. 열 이름 변경하기

df.rename(columns={'c':'d'}) # c 열 이름을 d로 변경한다.

실행 결과

8. 인덱스 값 초기화하기

df.reset_index()

실행 결과

9. 인덱스 순서대로 정렬하기

df.sort_index()

실행 결과

10. 특정 열 제거하기

df.drop(columns=['a', 'b'])

실행 결과

 

C. 행 추출하기

11. 맨 위의 행 출력하기

df.head(2) # 2행을 출력한다.

실행 결과

12. 맨 아래 행 출력하기

df.tail(2) # 2행을 출력한다.

실행 결과

13. 특정 열의 값을 추출하기

df[df["a"] > 4] # a열 중 4보다 큰 값이 있을 경우 해당 행을 추출한다.

실행 결과

14. 특정 열에 특정 값이 있을 경우 추출하기

df[df["a"] == 6] # a열 중 6이 있을 경우 해당 행을 추출한다.

실행 결과

15. 특정 열에 특정 값이 없을 경우 추출하기

df[df["a"] != 5] # a열 중 5가 없을 경우 해당 행을 추출한다.

실행 결과

16. 특정 열에 특정 숫자가 있는지 확인하기

df[df['a'].isin([4])] # 원하는 숫자를 리스트([int]) 형식으로 써 준다.

실행 결과

17. 특정 비율로 데이터 샘플링하기

df.sample(frac=0.75) # 실행할 때마다 정해진 비율만큼 랜덤하게 추출한다.

실행 결과

18. 특정 개수만큼 데이터 샘플링하기

df.sample(n=3) # 실행할 때마다 n에서 정한 만큼 랜덤하게 추출한다.

실행 결과

19. 특정 열에서 큰 순서대로 불러오기

df.nlargest(3, 'a') # a열에서 큰 순서대로 세 개를 불러온다.

실행 결과

20. 특정 열에서 작은 순서대로 불러오기

df.nsmallest(3, 'a') # a열에서 작은 순서대로 세 개를 불러온다.

실행 결과

 

D. 열 추출하기

21. 인덱스의 범위로 불러오기

# 0부터 세므로 첫 번째 줄은 인덱스 0, 4번째 줄은 인덱스 3이 된다.
df.iloc[1:4] # [a:b]의 경우 a 인덱스부터 b-1 인덱스까지 불러오라는 의미이다.
             # a열에서 순서대로 세 개를 불러온다.

실행 결과

22. 첫 인덱스를 지정해 불러오기

df.iloc[2:] # [a:]는 a 인덱스부터 마지막 인덱스까지 불러오라는 의미이다.

실행 결과

23. 마지막 인덱스를 지정해 불러오기

df.iloc[:3] # [:b]는 처음부터 b-1 인덱스까지 불러오라는 의미이다.

실행 결과

24. 모든 인덱스 불러오기

df.iloc[:] # [:]는 모든 인덱스를 불러오라는 의미이다.

실행 결과

25. 특정열을 지정해 가져오기

df[['a', 'b']] # a열과 b열을 가져오라는 의미이다.

실행 결과

26. 조건을 만족하는 열 가져오기

df.filter(regex='c') # 열 이름에 c라는 문자가 포함되어 있으면 출력하라는 의미이다.

실행 결과

27. 특정 문자가 포함되지 않는 열 가져오기

# 열 이름에 c라는 문자가 포함되어 있지 않으면 출력하라는 의미이다.
df.filter(regex='^(?!c$).*')

실행 결과

+ Recent posts