본문 바로가기

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

데이터 정렬하기2

행과 열 추출하기

# 28.특정한 행과 열을 지정해 가져오기
#df.loc[가져올 행,가져올 열]의 형태로 불러옵니다.
df.loc[:, 'a':'c']     # 모든 인덱스에서, a열부터 c열까지를 가져오라는 의미입니다.

# 29. 인덱스로 특정 행과 열 가져오기
df.iloc[0:3, [0, 2]]   # 0 인덱스부터 2인덱스까지, 0번째 열과 2번째 열을 가져오라는 의미입니다. (첫 열이 0번째입니다.)

# 30. 특정 열에서 조건을 만족하는 행과 열 가져오기
df.loc[df['a'] > 5, ['a', 'c']]  # a열의 값이 5보다 큰 경우의 a열과 c열을 출력하라는 의미입니다.

# 31. 인덱스를 이용해 특정 조건을 만족하는 값 불러오기 
df.iat[1, 2]    # 1번째 인덱스에서 2번째 열 값을 가져옵니다. 

13

중복 데이터 다루기

# 실습을 위해 중복된 값이 포함된 데이터 프레임을 만들겠습니다.
df = pd.DataFrame(
    {"a" : [4 ,5, 6, 7, 7], 
     "b" : [8, 9, 10, 11, 11],
     "c" : [12, 13, 14, 15, 15]},
    index = pd.MultiIndex.from_tuples(     
        [('d', 1), ('d', 2), ('e', 1), ('e', 2), ('e',3)],     
        names=['n', 'v']))                 
df

# 32. 특정 열에 어떤 값이 몇 개 들어 있는지 알아보기 
df['a'].value_counts()  

7   2

4   1

5   1

6   1

Name: a, dtype: int64

 

# 33. 데이터 프레임의 행이 몇 개인지 세어보기
len(df)

5

# 34. 데이터 프레임의 행이 몇 개인지, 열이 몇 개인지 세어보기
df.shape

(5, 3)

# 35. 특정 열에 유니크한 값이 몇 개인지 세어보기
df['a'].nunique()

4

# 36. 데이터 프레임의 형태를 한눈에 보기
df.describe()

# 37. 중복된 값 제거하기
df = df.drop_duplicates()
df

 

데이터 파악하기

# 38. 각 열의 합 보기
df.sum()

a 22 b 38 c 54 dtype: int64

 

# 39. 각 열의 값이 모두 몇 개인지 보기
df.count()

a   4

b   4

c   4

dtype: int64

 

# 40. 각 열의 중간 값 보기
df.median()

a   5.5

b   9.5

c   13.5

dtype: float64

 

# 41. 특정 열의 평균 값 보기
df['b'].mean()
 
9.5
# 42. 각 열의 25%, 75%에 해당하는 수 보기
df.quantile([0.25,0.75])

# 43. 각 열의 최솟값 보기
df.min()

a   4

b   8

c   12

dtype: int64

 

# 44. 각 열의 최댓값 보기
df.max()
 
a   7
b   11
c   15
dtype: int64
# 45. 각 열의 표준편차 보기
df.std()
 
a   1.290994
b   1.290994
c   1.290994
dtype: float64
# 46. 데이터 프레임 각 값에 일괄 함수 적용하기 
import numpy as np
df.apply(np.sqrt)  # 제곱근 구하기
 

 

결측치 다루기

# 넘파이 라이브러리를 이용해 null 값이 들어 있는 데이터 프레임 만들기 

df = pd.DataFrame( 
    {"a" : [4 ,5, 6, np.nan], 
     "b" : [7, 8, np.nan, 9], 
     "c" : [10, np.nan, 11, 12]},    
    index = pd.MultiIndex.from_tuples(
        [('d', 1), ('d', 2), ('e', 1), ('e', 2)],     
        names=['n', 'v']))
df

 

# 47. null 값인지 확인하기
pd.isnull(df)

# 48. null 값이 아닌지를 확인하기
pd.notnull(df)

# 49. null 값이 있는 행 삭제하기
df_notnull = df.dropna()
df_notnull

# 50. null 값을 특정한 값으로 대체하기
df_fillna = df.fillna(13)
df_fillna

# 51. null 값을 특정한 계산 결과으로 대체하기
df_fillna_mean = df.fillna(df['a'].mean())   # a열의 평균 값으로 대체
df_fillna_mean

 

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

데이터 가공하기  (0) 2023.03.02
데이터 변환하기  (0) 2023.02.21
데이터 다루기  (0) 2023.02.06