pandas 데이터프레임중 특정 칼럼이 중복인 데이터가 있는데 이 데이터를 카테고리컬 데이터( Categorical Data) 라 한다.
이 카테고리컬 데이터( Categorical Data)는 항목을 찾는데 pandas로 다룰수 있다.
#데이터프레임을 외부에서 부르기 때문에
#더 이상 코드로 데이터프레임을 만들지 않는다
df = pd.read_csv('../data/fake_company.csv')
df
#중복된 데이터는 무엇인가?
df['Year'].unique()
>>> array([1990, 1991, 1992], dtype=int64)
#중복된 데이터의 항목수는 얼마인가?
df['Year'].nunique()
>>> 3
describe() 함수는 카테고리컬 데이터( Categorical Data) 뿐만 아니라 다른 데이터프레임에서도 쓸 수 있지만 카테고리컬 데이터( Categorical Data) 문자열 데이터의 정보를 보여주기 때문에 의미가 있다.
#데이터프레임 전체의 통계치를 확인 => 숫자데이터만
df.describe()
문자열 컬럼에 describe() 함수를 사용하면 다음과 같은 결과가 나온다.
# 문자열 컬럼에 describe() 함수 사용
df['Name'].describe()
>>> count 9
unique 3
top Alice
freq 3
Name: Name, dtype: object
카테고리컬 데이터( Categorical Data)를 분석할때는 중복된 항목별로 묶어서
데이터를 분석 할 수 있다.
# 각 년도별로, 지급한 연봉 총합을 구하라.
df.groupby("Year")['Salary'].sum()
>>> Year
1990 153000
1991 162000
1992 174000
Name: Salary, dtype: int64
# 각 직원별로, 얼마씩 받았는지 연봉 평균을 구하세요.
df.groupby("Name")['Salary'].mean()
>>> Name
Alice 54000.0
Bob 50000.0
Charlie 59000.0
Name: Salary, dtype: float64
#연도별로 , 연봉의 총합, 평균, 표준편차를 구하시오.
import numpy as np
df.groupby("Year")['Salary'].agg([np.sum,np.mean,np.std])
# agg라는 함수는 numpy함수이고 묶음이라는 뜻이다.
또한 데이터 내에 중복된 데이터가 무엇이고 그 데이터가 전체에 얼마나 있는지도 파악 할 수 있다.
#Name 컬럼은, 각 이름별로 몇개의 데이터가 있나?
#방법1
df.groupby("Name")['Name'].count()
>>> Name
Alice 3
Bob 3
Charlie 3
Name: Name, dtype: int64
#방법2
df['Name'].value_counts()
>>> Alice 3
Bob 3
Charlie 3
Name: Name, dtype: int64
반응형
'파이썬 함수' 카테고리의 다른 글
pandas 라이브러리(6) 함수 적용 APPLYING FUNCTIONS (0) | 2022.11.25 |
---|---|
pandas 라이브러리(5) PANDAS OPERATIONS (0) | 2022.11.24 |
pandas 라이브러리(3) NaN값 다루기 (0) | 2022.11.24 |
pandas 라이브러리(2) 데이터프레임 컬럼 추가하기, 데이터프레임 불러오기 (0) | 2022.11.24 |
pandas 라이브러리(1) pandas라이브러리 활용 (0) | 2022.11.24 |