본문 바로가기

Dev Language/Python

[Python][Pandas] 판다스 데이터 프레임 기본 통계 ( describe...)

반응형

1. 데이터 확인하기

판다스는 파이썬에서 데이터를 다루는 가장 효과적인 도구 중 하나입니다. 데이터를 분석하기 전에 먼저 데이터의 구조와 기본 통계량을 확인해야 합니다. 이를 통해 데이터의 형태를 파악하고, 이상치 또는 결측치를 확인할 수 있습니다.

1-1. 데이터 구조 파악하기

판다스의 DataFrame은 표 형태로 데이터를 다룰 수 있는 자료구조입니다. 데이터의 구조를 파악하기 위해 다음의 함수를 활용할 수 있습니다.

1) head() 함수

head() 함수는 데이터의 처음 5개 행을 출력해줍니다. 기본값은 5이지만, 괄호 안에 다른 숫자를 넣어 데이터를 원하는 만큼 출력할 수도 있습니다.

import pandas as pd

# 데이터프레임 생성
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': ['a', 'b', 'c', 'd', 'e']})

# head() 함수 사용하기
print(df.head())

위 코드는 A 열과 B 열로 이루어진 데이터프레임을 생성하고, head() 함수를 이용해 처음 5개의 행을 출력합니다.

2) tail() 함수

tail() 함수는 데이터의 마지막 5개 행을 출력해줍니다. head()와 마찬가지로 괄호 안에 다른 숫자를 넣어 출력할 행의 개수를 조절할 수 있습니다.

import pandas as pd

# 데이터프레임 생성
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': ['a', 'b', 'c', 'd', 'e']})

# tail() 함수 사용하기
print(df.tail(3))

위 코드는 A 열과 B 열로 이루어진 데이터프레임을 생성하고, tail() 함수를 이용해 마지막 3개의 행을 출력합니다.

3) info() 함수

info() 함수는 데이터프레임의 구조와 데이터의 타입을 확인하는 함수입니다.

import pandas as pd

# 데이터프레임 생성
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': ['a', 'b', 'c', 'd', 'e']})

# info() 함수 사용하기
print(df.info())

위 코드는 A 열과 B 열로 이루어진 데이터프레임을 생성하고, info() 함수를 이용해 데이터프레임의 구조와 데이터의 타입을 확인합니다.

1-2. 데이터 요약 통계량 구하기

데이터 요약 통계량은 데이터의 분포를 파악하기 위해 계산되는 값들입니다. 판다스의 describe() 함수를 사용하면 데이터의 요약 통계량을 손쉽게 구할 수 있습니다.

import pandas as pd

# 데이터프레임 생성
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': [10, 20, 30, 40, 50]})

# describe() 함수 사용하기
print(df.describe())

위 코드는 A 열과 B 열로 이루어진 데이터프레임을 생성하고, describe() 함수를 이용해 데이터의 요약 통계량을 출력합니다.

위에서는 데이터프레임의 구조 파악과 데이터의 요약 통계량을 구하는 방법을 알아보았습니다. 다음으로는 기본 통계량을 계산하는 방법에 대해 알아보겠습니다.

2. 기본 통계량 계산하기

데이터를 분석하다 보면 기본적인 통계량을 계산해야 할 때가 있습니다. 판다스를 사용하면 데이터프레임의 기본 통계량을 손쉽게 계산할 수 있습니다.

2-1. 데이터의 평균 계산하기

평균은 데이터의 전체 합을 데이터의 개수로 나눈 값입니다. 판다스의 mean() 함수를 사용하면 데이터프레임의 각 열(Column)의 평균을 계산할 수 있습니다.

import pandas as pd

# 데이터프레임 생성
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': [10, 20, 30, 40, 50]})

# 평균 계산하기
mean_A = df['A'].mean()
mean_B = df['B'].mean()

print('A 열의 평균:', mean_A)
print('B 열의 평균:', mean_B)

위 코드는 A 열과 B 열로 이루어진 데이터프레임을 생성하고, mean() 함수를 이용해 각 열의 평균을 계산한 후 출력합니다.

A 열의 평균: 3.0
B 열의 평균: 30.0

2-2. 데이터의 표준편차 계산하기

표준편차는 데이터가 평균에서 얼마나 떨어져 있는지를 나타내는 수치입니다. 판다스의 std() 함수를 사용하면 데이터프레임의 각 열(Column)의 표준편차를 계산할 수 있습니다.

import pandas as pd

# 데이터프레임 생성
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': [10, 20, 30, 40, 50]})

# 표준편차 계산하기
std_A = df['A'].std()
std_B = df['B'].std()

print('A 열의 표준편차:', std_A)
print('B 열의 표준편차:', std_B)

위 코드는 A 열과 B 열로 이루어진 데이터프레임을 생성하고, std() 함수를 이용해 각 열의 표준편차를 계산한 후 출력합니다.

A 열의 표준편차: 1.5811388300841898
B 열의 표준편차: 15.811388300841896

2-3. 데이터의 중앙값 계산하기

중앙값은 데이터를 크기순으로 정렬했을 때 가운데에 위치한 값을 의미합니다. 판다스의 median() 함수를 사용하면 데이터프레임의 각 열(Column)의 중앙값을 계산할 수 있습니다.

import pandas as pd

# 데이터프레임 생성
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': [10, 20, 30, 40, 50]})

# 중앙값 계산하기
median_A = df['A'].median()
median_B = df['B'].median()

print('A 열의 중앙값:', median_A)
print('B 열의 중앙값:', median_B)

위 코드는 A 열과 B 열로 이루어진 데이터프레임을 생성하고, median() 함수를 이용해 각 열의 중앙값을 계산한 후 출력합니다.

A 열의 중앙값: 3.0
B 열의 중앙값: 30.0

2-4. 데이터의 최소값, 최대값 계산하기

최소값은 데이터 중에서 가장 작은 값을 의미하고, 최대값은 데이터 중에서 가장 큰 값을 의미합니다. 판다스의 min() 함수와 max() 함수를 사용하면 데이터프레임의 각 열(Column)의 최소값과 최대값을 계산할 수 있습니다.

import pandas as pd

# 데이터프레임 생성
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': [10, 20, 30, 40, 50]})

# 최소값, 최대값 계산하기
min_A = df['A'].min()
min_B = df['B'].min()
max_A = df['A'].max()
max_B = df['B'].max()

print('A 열의 최소값:', min_A)
print('A 열의 최대값:', max_A)
print('B 열의 최소값:', min_B)
print('B 열의 최대값:', max_B)

위 코드는 A 열과 B 열로 이루어진 데이터프레임을 생성하고, min() 함수와 max() 함수를 이용해 각 열의 최소값과 최대값을 계산한 후 출력합니다.

A 열의 최소값: 1
A 열의 최대값: 5
B 열의 최소값: 10
B 열의 최대값: 50

위에서는 데이터프레임의 기본 통계량을 계산하는 방법을 알아보았습니다. 

본 블로그 글은 G-ChatBot 서비스를 이용하여 AI(ChatGPT) 도움을 받아 작성하였습니다.

https://gboysking.net

 

G-ChatBot

Our service is an AI chatbot service developed using OpenAI API. Our service features a user-friendly interface, efficient management of token usage, the ability to edit conversation content, and management capabilities.

gboysking.net

 

반응형