seaborn을 사용하여 누락된 데이터를 처리하는 방법은 무엇입니까?
Seaborn은 주로 시각화 라이브러리이며 누락된 데이터를 처리하는 직접적인 방법을 제공하지 않습니다. 그러나 Seaborn은 Python에서 널리 사용되는 데이터 조작 라이브러리인 pandas와 원활하게 작동하며 누락된 데이터를 처리하는 강력한 도구를 제공하며 Seaborn을 사용하여 정리된 데이터를 시각화할 수 있습니다.
누락된 데이터를 처리하기 위한 Pandas의 데이터 조작 기능과 Seaborn의 시각화 기능을 결합함으로써 데이터를 정리하고 의미 있는 시각화를 생성하여 데이터 세트에서 통찰력을 얻을 수 있습니다.
다음은 Pandas를 사용하여 누락된 데이터를 처리하고 Seaborn을 사용하여 정리된 데이터를 시각화하는 방법에 대한 단계별 가이드입니다.
필요한 라이브러리 가져오기
먼저 Python 작업 환경에 필요한 모든 라이브러리를 가져와야 합니다.
import seaborn as sns
import pandas as pd
Pandas DataFrame에 데이터세트 로드/생성
이제 DataFrame() 함수를 사용하여 데이터 세트를 생성하거나 pandas 라이브러리의 read_csv() 함수를 사용하여 데이터 세트를 로드할 수 있습니다. 이 기사에서는 DataFrame() 함수를 사용하여 자체 데이터 세트를 생성합니다.
예
import seaborn as sns
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Salary': [50000, 60000, 70000]}
df = pd.DataFrame(data)
res = df.head()
print(res)
산출
Name Age Salary
0 Alice 25 50000
1 Bob 30 60000
2 Charlie 35 70000
누락된 데이터 식별
Pandas는 DataFrame에서 누락된 데이터를 식별하는 방법을 제공합니다. 'isnull()' 함수는 입력과 동일한 형태의 DataFrame을 반환하며, 데이터가 누락된 경우 'True' 값과 'False 값을 갖습니다. b>' 데이터가 존재하는 값.
데이터 세트에는 누락된 값이 없으므로 데이터 세트의 모든 행에 False가 표시됩니다.
예
import seaborn as sns
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Salary': [50000, 60000, 70000]}
df = pd.DataFrame(data)
missing_data = df.isnull()
res = missing_data.head()
print(res)
'info()' 또는 'describe()'와 같은 다른 메소드를 사용하여 DataFrame에서 누락된 데이터 요약을 가져올 수도 있습니다.
산출
Name Age Salary
0 False False False
1 False False False
2 False False False
누락된 데이터 처리
누락된 데이터를 식별한 후에는 데이터와 수행하려는 분석을 기반으로 이를 처리하는 방법을 선택할 수 있습니다. 누락된 데이터를 처리하는 몇 가지 일반적인 접근 방식은 다음과 같습니다.
누락된 데이터 제거
누락된 데이터가 상대적으로 적고 전체 분석에 영향을 미치지 않는 경우 'dropna()' 메서드를 사용하여 누락된 데이터가 포함된 행이나 열을 제거할 수 있습니다.
예
import seaborn as sns
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Salary': [50000, 60000, 70000]}
df = pd.DataFrame(data)
missing_data = df.isnull()
res = missing_data.head()
df_cleaned = df.dropna() #this drops the rows
df_cleaned = df.dropna(axis=1) #this drops the columns
누락된 데이터 대치
누락된 데이터가 중요하고 이를 제거하면 귀중한 정보가 손실될 수 있는 경우 합리적인 추정치로 누락된 값을 대치하거나 채울 수 있습니다. Pandas는 평균, 중앙값, 모드 또는 사용자 정의 값을 사용하는 등 다양한 대치 방법을 제공합니다.
예
import seaborn as sns
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Salary': [50000, 60000, 70000]}
df = pd.DataFrame(data)
missing_data = df.isnull()
res = missing_data.head()
df_cleaned = df.dropna() #this drops the rows
df_cleaned = df.dropna(axis=1) #this drops the columns
# Impute missing values with mean
df['Age'].fillna(df['Age'].mean(), inplace=True)
# Impute missing values with custom value
df['Age'].fillna('N/A', inplace=True)
print(df.head())
산출
Name Age Salary
0 Alice 25 50000
1 Bob 30 60000
2 Charlie 35 70000
scikit-learn과 같은 라이브러리에는 누락된 데이터를 처리하기 위해 pandas와 함께 사용할 수 있는 고급 대체 기술이 있습니다.
Seaborn을 사용하여 정리된 데이터 시각화
누락된 데이터를 처리한 후에는 Seaborn을 사용하여 정리된 데이터를 시각화할 수 있습니다. Seaborn은 pandas DataFrame을 입력으로 받아들이는 광범위한 플로팅 기능을 제공합니다. 예를 들어, 누락된 데이터를 처리한 후 범주형 변수의 막대 그래프를 생성하려는 경우 아래 코드 줄을 사용할 수 있습니다.
예
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Salary': [50000, 60000, 70000]}
df = pd.DataFrame(data)
missing_data = df.isnull()
res = missing_data.head()
df_cleaned = df.dropna() #this drops the rows
df_cleaned = df.dropna(axis=1) #this drops the columns
# Impute missing values with mean
df['Age'].fillna(df['Age'].mean(), inplace=True)
# Impute missing values with custom value
df['Age'].fillna('N/A', inplace=True)
print(df.head())
sns.countplot(x='Salary', data=df_cleaned)
plt.show()
산출
다양한 Seaborn 플로팅 기능을 사용하여 정리된 데이터를 탐색하고 시각화함으로써 통찰력을 얻고 결과를 효과적으로 전달할 수 있습니다.
