Python 및 Pandas로 데이터 정리를 수행하는 방법

Python Mich Pandaslo Deiteo Jeonglileul Suhaenghaneun Bangbeob



Python과 Pandas를 사용하여 데이터를 정리하는 방법을 배우는 것은 데이터를 다루는 모든 사람에게 중요합니다. 데이터 클리닝은 오류와 불일치를 제거하여 정확한 분석과 모델링을 위해 주로 사용됩니다. 이 가이드는 누락된 데이터를 처리하고 이상값을 찾아내거나 식별하는 방법을 보여주는 단계별 프로세스를 안내합니다. Python과 Pandas를 도구로 사용하면 지저분한 데이터를 깨끗하고 사용 가능한 정보로 변환할 수 있습니다. 이 가이드는 또한 데이터 품질을 개선하고 분석 및 의사 결정을 위해 준비하는 데 도움이 됩니다.

Python과 Pandas로 데이터 정리

데이터는 오늘날 의사 결정의 구성 요소와 같습니다. 하지만 이 컬렉션에서 다양한 모양과 크기의 블록 그룹이 있다고 상상해 보세요. 의미있는 것을 만드는 것은 어렵습니다. 이것이 데이터 정리가 도움이 되는 곳입니다.

이 가이드에서는 더 나은 의사 결정을 위해 Python의 프레임워크인 Pandas를 사용하여 데이터를 정리하는 방법을 살펴봅니다. 매장의 판매 기록 목록을 작업한다는 점을 고려하면 데이터 정리도 필수적입니다. 목록에서 누락된 숫자, 이상한 날짜, 이유 없이 반복되는 항목을 볼 수 있습니다. 이 정보를 바탕으로 계산이나 기록을 하면 이러한 문제로 인해 계산과 예측이 엉망이 될 수 있습니다. 데이터 정리는 이러한 문제를 해결하여 데이터가 정확하고 사용할 준비가 되도록 보장합니다.







데이터 정리에는 누락된 데이터 처리 및 일부 데이터가 누락되었을 때 수행할 작업, 중복 제거, 복사된 항목 제거, 데이터 유형 수정, 모든 것이 올바른 형식인지 확인, 이상값 처리 또는 숫자 처리가 포함됩니다. 이러한 실수는 데이터를 동일하게 보이게 만들고 데이터가 나타나는 방식을 표준화합니다.



시작하려면 먼저 Python과 Pandas가 설치되어 있는지 확인하세요. 컴퓨터의 터미널이나 명령 프롬프트에 명령을 입력하면 됩니다. 이 가이드에 언급된 코드를 구현하기 위해 시스템에 설치된 Python Pycharm IDE 또는 온라인 Python 플랫폼인 'Google Colab'을 사용하고 'pip' 명령을 설치하여 중요한 라이브러리를 설치할 수 있습니다.



이제 Pandas를 가져오고 샘플 데이터를 로드해 보겠습니다. 이 예에서는 Google Colab을 사용하여 코드를 실행합니다. 따라서 먼저 다음 명령을 입력하여 Pandas를 가져옵니다.





! pip 설치 팬더

수입 팬더 ~처럼 PD

수입 멍청하다 ~처럼 예를 들어

그런 다음 파일 경로를 입력 매개 변수로 사용하는 pd.read() 메서드를 사용하여 표시하려는 데이터 세트를 로드합니다.

# 데이터세트를 로드합니다

데이터 = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )

# 처음 몇 행을 표시합니다.

인쇄 ( 데이터. 머리 ( ) )

다음 예에서는 소규모 매장의 매출에 대한 데이터를 사용합니다. 누락된 데이터를 처리하기 위해 데이터에 해당 정보가 누락되는 경우가 있습니다. 우리는 이러한 누락된 부분을 “NaN”(“숫자가 아님”을 의미함)이라고 부릅니다. Python 스크립트에서 이러한 누락된 값을 찾으려면 먼저 이전 예에서 했던 것처럼 데이터 세트를 로드합니다. 그런 다음 'missing_values ​​= data.isnull().sum()' 함수를 사용하여 데이터 세트에서 누락된 값을 찾습니다. 이 함수는 데이터세트에서 누락된 값을 모두 찾습니다. 그런 다음 print() 함수를 사용하여 표시합니다.

! pip 설치 팬더
수입 팬더 ~처럼 PD
수입 멍청하다 ~처럼 예를 들어

# 데이터세트를 로드합니다
데이터 = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )

# 처음 몇 행을 표시합니다.
인쇄 ( 데이터. 머리 ( ) )

# 누락된 값이 있는지 확인
누락_값 = 데이터. 널이 아니다 ( ) . 합집합 ( )

# 열별로 누락된 값 개수를 표시합니다.
인쇄 ( 누락_값 )

이전에 언급한 코드를 실행하는 행에서 누락된 데이터를 찾은 후에는 해당 행에 유용한 데이터가 많지 않으므로 해당 행을 제거할 수 있습니다. 가까운 지점을 기반으로 시간 기반 데이터를 추정하여 누락된 값을 추측하고 학습된 추측으로 빈칸을 채울 수도 있습니다.

이제 동일한 것의 복사본인 중복 항목은 분석을 혼란스럽게 할 수 있으므로 제거합니다. 데이터 세트에서 중복된 값을 찾으려면 “duplicate_rows = data[data.duplicated()]” 함수를 사용합니다. 이러한 중복 값을 삭제하려면 data.drop_duplicates() 함수를 호출합니다. 다음 코드를 사용하여 해당 항목을 찾아 제거할 수 있습니다.

! pip 설치 팬더
수입 팬더 ~처럼 PD
수입 멍청하다 ~처럼 예를 들어
# 데이터세트를 로드합니다
데이터 = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# 처음 몇 행을 표시합니다.
인쇄 ( 데이터. 머리 ( ) )

# 중복된 행이 있는지 확인
중복_행 = 데이터 [ 데이터. 중복됨 ( ) ]

# 중복 제거
데이터 = 데이터. drop_duplicates ( )

# 중복된 항목을 제거한 후 처음 몇 행을 표시합니다.
인쇄 ( 데이터. 머리 ( ) )

데이터 유형은 데이터 유형을 수정하기 위해 저장할 수 있는 데이터를 결정합니다. 각 종류의 데이터에 적합한 유형을 갖는 것이 중요합니다. 예를 들어 날짜는 date time의 데이터 유형을 가져야 하고, 숫자는 int, float 등과 같은 데이터 유형이어야 합니다. 데이터의 데이터 유형을 확인하려면 “data.dtypes” 함수를 사용합니다. 이 기능은 다음과 같은 방법으로 활용될 수 있습니다:

! pip 설치 팬더
수입 팬더 ~처럼 PD
수입 멍청하다 ~처럼 예를 들어
# 데이터세트를 로드합니다.
데이터 = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# 처음 몇 행을 표시합니다.
인쇄 ( 데이터. 머리 ( ) )
# 각 열의 데이터 유형을 확인합니다.
data_types = 데이터. dtypes

# 데이터 유형 표시
인쇄 ( data_types )

문제가 발견되면 Pandas를 사용하여 데이터 유형을 변경할 수 있습니다. 예를 들어 날짜를 날짜 형식으로 만들 수 있습니다. DataFrame의 'dtypes' 속성은 각 열의 데이터 유형에 대한 정보를 제공합니다. 데이터 유형이 일치하지 않는 경우 Pandas의 astype() 함수를 사용하여 열을 원하는 유형으로 변환할 수 있습니다.

데이터 유형 다음에는 다른 데이터 유형과 매우 다른 값인 이상값이 나타나는 경우가 있습니다. 그들은 우리 계산을 망칠 수 있습니다. 이상값을 처리하기 위해 데이터에 존재하는 값을 임계값과 비교하는 'np.abs(stats.zscore(data))' z-score 함수를 사용하는 함수를 정의합니다. 이 임계값 범위 이외의 모든 값은 이상값으로 간주됩니다. . 이상값을 찾고 처리하는 방법을 살펴보겠습니다.

! pip 설치 팬더
수입 팬더 ~처럼 PD
수입 멍청하다 ~처럼 예를 들어

# 데이터세트를 로드합니다.
데이터 = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )

# 처음 몇 행을 표시합니다.
인쇄 ( 데이터. 머리 ( ) )
~에서 사이피 수입 통계

데프 detector_outliers ( 데이터 ) :
z_scores = 예를 들어 복근 ( 통계. z점수 ( 데이터 ) )
반품 예를 들어 어디 ( z_scores > )

# 'Sales' 열의 이상값을 감지하고 처리합니다.
특이치 = detector_outliers ( 데이터 [ '경도' ] )
데이터 [ '경도' ] . 장소 [ 특이치 ] = 데이터 [ '경도' ] . 중앙값 ( )

# 'Units Sold' 열의 이상값을 감지하고 처리합니다.
특이치 = detector_outliers ( 데이터 [ '위도' ] )
데이터 [ '위도' ] . 장소 [ 특이치 ] = 데이터 [ '위도' ] . 중앙값 ( )

# 이상값을 처리한 후 처음 몇 행을 표시합니다.
인쇄 ( 데이터. 머리 ( ) )

이전 코드에서 이상값을 찾아서 수정하기 위해 간단한 방법을 사용합니다. 여기에는 극단값을 데이터의 중간값으로 바꾸는 작업이 포함됩니다. 이 코드는 Z-점수 방법을 사용하여 데이터 세트의 '경도' 및 '위도' 열에서 이상값을 감지합니다. 이상값은 해당 열의 중앙값으로 대체됩니다.

데이터를 동일하게 보이게 하기 위해 동일한 의미라도 데이터가 다르게 보일 수 있습니다. 예를 들어, 날짜는 다양한 형식으로 기록될 수 있습니다. 표준화에는 일관된 데이터 형식과 표현을 보장하는 것이 포함됩니다. 여기에는 날짜 형식 지정, 텍스트를 소문자로 변환 또는 숫자 값 정규화 등이 포함될 수 있습니다. 데이터 세트의 '날짜' 열을 표준화하고 데이터가 동일하게 보이는지 확인하겠습니다.

수입 팬더 ~처럼 PD
수입 멍청하다 ~처럼 예를 들어 # numpy 가져오기

# 데이터를 로드
데이터 = pd. read_csv ( '판매_데이터.csv' )

# '날짜' 열을 일관되게 보이도록 만듭니다.
데이터 [ '날짜' ] = pd. to_datetime ( 데이터 [ '날짜' ] )

#지금은 어떤지 확인해보세요
인쇄 ( 데이터. 머리 ( ) )

이 예에서는 'pd.to_datetime(data['Date'])' 함수를 사용하여 데이터세트의 날짜 형식을 Python의 날짜/시간 형식으로 표준화합니다. '날짜' 열을 동일한 형식으로 변환하면 이 데이터를 더 쉽게 사용할 수 있습니다. 출력에는 표준화된 '날짜' 열이 포함된 데이터세트의 처음 몇 행이 표시됩니다.

결론

Python과 Pandas를 사용한 데이터 정리 과정에서 우리는 분석을 위해 데이터를 개선하는 방법을 배웠습니다. 우리는 데이터 정리가 왜 그렇게 중요한지 이해하는 것부터 시작했습니다. 이는 우리가 더 나은 결정을 내리는 데 도움이 됩니다. 누락된 데이터를 처리하고, 중복 항목을 제거하고, 데이터 유형을 수정하고, 이상값을 처리하고, 데이터를 동일하게 보이게 만드는 방법을 살펴보았습니다. 이러한 기술을 통해 우리는 지저분한 데이터를 신뢰할 수 있고 중요한 정보를 발견하는 데 사용할 수 있는 데이터로 전환할 수 있는 준비를 더 잘 할 수 있습니다. 데이터 정리는 방을 깔끔하게 유지하는 것과 같이 지속적인 프로세스이며 데이터 분석 여정을 더욱 성공적으로 만듭니다.