이번 포스팅은 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-23pandas 라이브러리의 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: float64pandas 라이브러리의 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.0pandas 라이브러리의 median() 함수를 사용하여 데이터프레임(finalData)에 지정된 열(‘나이’)의 중앙값을 계산합니다. median() 함수는 숫자 열의 중앙값을 계산하고, 숫자가 아닌 열을 건너뜁니다.
47. 데이터프레임에 있는 열의 표준편차 계산
import pandas as pd
# '나이' 칼럼의 표준편차 계산
stdDeviation = finalData['나이'].std()
# 표준편차 출력
print("표준편차 출력: ", stdDeviation)
-----------------------------------------
표준 편차 출력: 5.0pandas 라이브러리의 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 dpandas 라이브러리의 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 바로가기)
감사합니다!!