행과 열 추출하기
# 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 |