반응형
안녕하세요.
벌써 파이썬과 관련해 6번째 글을 쓰게 됐네요.
이번 시간 역시 Pandas와 관련해 알아보도록 하겠습니다.
Pandas에서도 누락된 데이터를 체크할 수 있습니다.
isnull의 경우 비어있으면 True, notnull의 경우 비어있지 않으면 True를 return해줍니다. 또한 데이터를 비우거나 채울수도 있는데요.
아래의 예제를 통해 알아보도록 하겠습니다.
dataframe.isnull()
dataframe.notnull()
# 비어있는 행을 없애기
dataframe.dropna()
# 전화번호가 없는 행이 있으면 '전화번호 없음'으로 채우기
# 비어있는 값을 삭제하지 않고 0 혹은 평균값과 같은 값으로 대체할때 주로 사용
dataframe['전화번호'] = dataframe['전화번호'].fillna('전화번호 없음')
A = pd.Series([2, 4, 6], index=[0, 1, 2])
# 0 2
# 1 4
# 2 6
# dtype: int64
B = pd.Series([1, 3, 5], index=[1, 2, 3])
# 1 1
# 2 3
# 3 5
# dtype: int64
A + B
# NaN
# 5.0
# 9.0
# NaN
# dtype: float64
A.add(B, fill_value=0)
# 비어있는 값들은 0으로 전달
# 2.0
# 5.0
# 9.0
# 5.0
# dtype: float64
다음으로는 DataFrame에서 사용할 수 있는 기본적인 연산입니다.
기본적으로 사용할 수 있는 사칙연산으로는 add(+), sub(-), mul(*), div(/) 가 있습니다.
또한, Numpy Array에서 사용했던 sum, mean 등을 동일하게 활용할 수 있습니다.
A = pd.DataFrame(np.random.randint(0, 10, (2, 2)), columns=list("AB"))
# A B
# 0 2 4
# 1 0 1
B = pd.DataFrame(np.random.randint(0, 10, (3, 3)), columns=list("BAC"))
# B A C
# 0 0 2 3
# 1 0 4 1
# 2 6 0 4
A + B
# A B C
# 0 4.0 4.0 NaN
# 1 4.0 1.0 NaN
# 2 NaN NaN NaN
A.add(B, fill_value=0)
# A B C
# 0 4.0 4.0 3.0
# 1 4.0 1.0 1.0
# 2 0.0 6.0 4.0
# 집계함수
# numpy array에서 사용했던 sum, mean 등을 활용할 수 있다.
data = {
'A': [ i+5 for i in range(3) ],
'B': [ i**2 for i in range(3)]
}
# A B
# 0 2 4
# 1 0 1
# 2 7 4
df = pd.DataFrame(data)
df['A'].sum() # 18
df.sum()
# A 18
# B 5
# dtype: int64
df.mean()
# A 6.000000
# B 1.666667
# dtype: float64
다음으론 함수 중에 값으로 정렬을 할 수 있는 함수에 대해 알아보겠습니다.
df = pd.DataFrame({
'col1' : [2, 1, 9, 8, 7, 4],
'col2' : ['A', 'A', 'B', np.nan, 'D', 'C'],
'col3' : [0, 1, 9, 4, 2, 3],
})
# col1 col2 col3
# 0 2 A 0
# 1 1 A 1
# 2 9 B 9
# 3 8 NaN 4
# 4 7 D 2
# 5 4 C 3
# 값으로 정렬하기
df.srot_values('col1')
# col1에 있는 값들로 정렬, 기본이 오름차순이고 ascending=Flase 를 사용하면 내림차순 정렬
# col1 col2 col3
# 1 1 A 1
# 0 2 A 0
# 5 4 C 3
# 4 7 D 2
# 3 8 NaN 4
# 2 9 B 9
df.sort_values('col1', ascending=False)
df.sort_values(['col2', 'col1'])
# col1 col2 col3
# 0 2 A 0
# 1 1 A 1
# 2 9 B 9
# 3 8 NaN 4
# 4 7 D 2
# 5 4 C 3
# 위의 DataFrame이 아래의 형태로 정렬됨
# col1 col2 col3
# 1 1 A 1
# 0 2 A 0
# 2 9 B 9
# 5 4 C 3
# 4 7 D 2
# 3 8 NaN 4
이제까지 Pandas 의 기초에 관해 알아보았습니다.
다음시간부터는 Pandas와 관련해 조금 더 심화된 내용을 공부해보도록 하겠습니다.
감사합니다.
반응형
'IT > Python' 카테고리의 다른 글
Pandas(판다스) - 파이썬을 활용한 데이터 분석 기초 #7 (0) | 2022.10.03 |
---|---|
Pandas(판다스) - 파이썬을 활용한 데이터 분석 기초 #5 (2) | 2022.09.26 |
Pandas(판다스) - 파이썬을 활용한 데이터 분석 기초 #4 (4) | 2022.09.25 |