Python Pandas 마스터하기 41 ~ 50

이번 포스팅은 Python pandas 마스터하기 위한 다섯번째 포스팅입니다( python pandas 마스터하기 41~50 ). 이번 포스팅 내용을 학습하기 전에 이전 포스팅(Python pandas 마스터하기 1 ~10, Python pandas 마스터하기 11 ~20, Python pandas 마스터하기 21 ~30, Python pandas 마스터하기 31 ~40) 내용을 먼저 학습하시기 바랍니다. 간단한 예제 코드와 설명을 포함한 100가지 Python pandas 코드 중 No 41 ~ 50개에 대해서 살펴보겠습니다.

41. 데이터프레임에 열이 있는지 확인

import pandas as pd

# 임시 데이터프레임 생성 
tempdata = {'이름': ['철수', '영희', '영남'],
            '나이': [45, 35, 40],
            '고향': ['서울', '부산', '인천']}

# 인덱스가 'one','two','three'인 finalData DataFrame 생성하기 
finalData = pd.DataFrame(tempdata, index = ['one','two','three'])
finalData 


# 컬럼명 입력
columnName = input("컬러명 입력: ")

if columnName in finalData.columns:
    print(f" 컬럼 '{columnName}' 은 데이터프레임에 존재합니다.")
else:
    print(f" 컬럼 '{columnName}' 은 데이터프레임에 존재하지 않습니다.")
-------------------------------------------------------------------------
 컬러명 입력: 이름
 컬럼 '이름' 은 데이터프레임에 존재합니다.

이 코드에서는 확인하려는 열 이름을 입력하라는 메시지를 사용자에게 표시합니다(columnName = input(“컬러명 입력: “)). 그런 다음 in 연산자를 사용하여 주어진 열 이름이 데데이터프레임의 열 속성(finalData.columns)에 존재하는지 확인합니다. 데이터프레임에 열 이름이 있으면 해당 열이 존재한다는 메시지를 출력합니다. 그렇지 않으면 해당 열이 존재하지 않는다는 메시지를 출력합니다.


42. 데이터프레임의 문자열 열을 날짜/시간 형식으로 변환

import pandas as pd

# '생년월일' 칼럼의 데이터 형식을 날짜/시간 형식으로 변환
finalData['생년월일'] = pd.to_datetime(finalData['생년월일'])
finalData
-------------------------------------------------------------
	    이름	나이	고향	생년월일
one	    철수	45	    서울	1986-05-11
two	    영희	35	    부산	1999-06-22
three	영남	40	    인천	2020-08-23

pandas 라이브러리의 pd.to_datetime() 함수는 지정된 열(‘생년월일’)을 날짜/시간 형식으로 변환합니다. 이 함수는 열의 값을 기반으로 날짜 및 시간 형식을 자동으로 유추합니다.


43. 데이터프레임의 열에서 고유값(unique value) 추출

import pandas as pd

# '고향' 칼럼의 고유값(unique value) 추출
uniqueValues = finalData['고향'].unique()

# 고유값(unique value) 출력
for value in uniqueValues:
    print(value)
-----------------------------------------------
서울
부산
인천

pandas 라이브러리의 unique() 함수를 사용하여 데이터프레임(finalData)의 지정된 열(‘고향’)에서 고유값(unique value)을 추출합니다. unique() 함수는 열에서 고유값의 NumPy 배열을 반환합니다. 이러한 고유값을 uniqueValues 변수에 할당합니다. 그런 다음 루프를 사용하여 uniqueValues 배열을 반복하고 각 고유값을 출력합니다.


44. 데이터프레임의 각 열의 평균값 계산

import pandas as pd

# 데이터프레임의 칼럼별 평균값 계산
meanValues = finalData.mean()

# 평균값 출력
print(meanValues)
------------------------------------
나이    40.0
dtype: float64

pandas 라이브러리의 mean() 함수를 사용하여 데이터프레임(finalData)의 각 열의 평균값을 계산합니다. mean() 함수는 숫자 열의 산술 평균을 계산하고 숫자가 아닌 열을 건너뜁니다.


45. 데이터프레임이 비어 있는지 확인

import pandas as pd

# 데이터프레임이 비어 있는 지 확인
isEmpty = finalData.empty

# Print the result
if isEmpty:
    print("데이터프레임이 비어 있습니다.")
else:
    print("데이터프레임에 값이 존재합니다.")
---------------------------------------------
데이터프레임에 값이 존재합니다.

데이터프레임의 empty 속성을 사용하여 비어 있는지 확인합니다. empty 속성은 부울 값을 반환합니다. 데이터프레임이 비어 있으면 True이고, 그렇지 않으면 False입니다.

46. 데이터프레임에서 열의 중앙값 계산

import pandas as pd

# 칼럼의 중앙값 확인
medianValue = finalData['나이'].median()

# 중앙값 출력
print("중앙값:", medianValue)
--------------------------------------------
중앙값: 40.0

pandas 라이브러리의 median() 함수를 사용하여 데이터프레임(finalData)에 지정된 열(‘나이’)의 중앙값을 계산합니다. median() 함수는 숫자 열의 중앙값을 계산하고, 숫자가 아닌 열을 건너뜁니다.


47. 데이터프레임에 있는 열의 표준편차 계산

import pandas as pd

# '나이' 칼럼의 표준편차 계산
stdDeviation = finalData['나이'].std()

# 표준편차 출력
print("표준편차 출력: ", stdDeviation)
-----------------------------------------
표준 편차 출력:  5.0

pandas 라이브러리의 std() 함수를 사용하여 DataFrame(finalData)에 지정된 열(‘나이’)의 표준편차를 계산합니다. std() 함수는 숫자 열의 표준편차를 계산하고 숫자가 아닌 열을 건너뜁니다.


48. 두 개의 데이터프레임을 서로 다른 인덱스로 병합

import pandas as pd

# 간단한 데이터프레임 2개 생성
df1 = pd.DataFrame({'A': [1, 2, 3],
                    'B': ['a', 'b', 'c']})

df2 = pd.DataFrame({'C': [3, 4, 5],
                    'D': ['d', 'e', 'f']})


mergedDf = pd.merge(df1, df2, left_on = 'A', right_on = 'C')

# 병합 데이터 출력
print(mergedDf)
----------------------------------------------------------------
   A  B  C  D
0  3  c  3  d

pandas 라이브러리의 merge() 함수를 사용하여 두 데이터프레임(df1 및 df2)을 병합합니다. left_on = ‘칼럼명1’ 및 right_on = ‘칼럼명2’를 지정하면 해당 인덱스를 기반으로 데이터프레임을 병합하겠다는 의미입니다.


49. 데이터프레임에 있는 열의 누적 곱 계산

import pandas as pd

# '나이' 컬럼 기준의 누적 곱 계산
cumulativeProduct = finalData['나이'].cumprod()

# '나이' 컬럼의 누적 곱 출력
print(cumulativeProduct)
-------------------------------------------------
one         45
two       1575
three    63000
Name: 나이, dtype: int64

데이터프레임 열의 cumprod() 함수를 사용하여 누적 곱을 계산합니다. 결과를 cumulativeProduct 객체에 저장합니다. 마지막으로 누적 곱 결과를 ‘series’ 유형으로 출력합니다.


50. 데이터프레임의 결측치를 지정된 값으로 치환

import pandas as pd
import numpy as np

# 임시 데이터 생성
df3 = pd.DataFrame({'C': [3, 4, 5],
                    'D': ['d', 'e', np.NaN]})

# 결측치를 'f'로 치환
df3Filled = df3.fillna('f')

# 출력하기 
print(df3Filled)
-----------------------------------
   C  D
0  3  d
1  4  e
2  5  f

데이터프레임의 fillna() 함수를 사용하여 누락된 값을 지정된 값으로 대체합니다. 결과는 df_filled 변수에 저장됩니다. 마지막으로 누락된 값을 대체하여 DataFrame을 인쇄합니다.

이번 포스팅에서는 Python Pandas 마스터하기 위한 다섯 번째 시간을 가졌습니다( python pandas 마스터하기 41~50 ).
다음 포스팅도 기대해 주세요.
(Python Pandas 마스터하기 51 ~ 60 바로가기)
감사합니다!!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다