본문 바로가기

이론/데이터 분석을 위한 판다스

데이터 다루기

판다스

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

 

데이터 만들기

# 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'])  # 열 이름을 따로 정해줄 수 있습니다.  
df

 

 
# 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']))                  # 인덱스 이름을 지정합니다.
df

 

데이터 정렬하기

 
# 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']) 

 

행 추출하기

 
# 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열에서 큰 순서대로 3개를 불러와 보겠습니다.
 
# 20. 특정 열에서 작은 순서대로 불러오기
df.nsmallest(3,'a')   # a열에서 작은 순서대로 3개를 불러와 보겠습니다.

 

열 추출하기

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

 
# 0부터 세므로 첫 번째 줄은 인덱스 0, 4째 줄은 인덱스 3이 됩니다. 
df.iloc[1:4]    # [a:b]의 경우 a 인덱스부터 b-1인덱스까지 불러오라는 의미입니다.# a열에서 큰 순서대로 3개를 불러와 보겠습니다.
 
# 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.특정 문자가 포함되지 않는 열 가져오기
df.filter(regex='^(?!c$).*')    # 열 이름에 c라는 문자가 포함되어 있지 않으면 출력하라는 의미입니다.

'이론 > 데이터 분석을 위한 판다스' 카테고리의 다른 글

데이터 가공하기  (0) 2023.03.02
데이터 변환하기  (0) 2023.02.21
데이터 정렬하기2  (0) 2023.02.14