[Pandas] 데이터 분석을 위한 판다스 사용법 - 5. 데이터 분석

2023. 7. 6. 02:15
반응형

Pandas

파이썬에서 데이터 분석에 많이 이용함, 3가지 형태의 자료 구조와 연산 지원

 

연산

- 데이터 선택
- 데이터 가공
- 데이터 분석

- 데이터 편집

 

데이터 분석

자료 구조의 원소들에 대해서 분석을 수행하는 연산

  1. 행의 시작, 끝 원소 세서 가져오기
  2. 열에 대한 통계
  3. 가장 작은, 큰 원소 행/열 선택
  4. 원소 개수 세기
  5. 구간 나눈 후 원소 세기
  6. 통계함수

 

1. 행의 시작, 끝 원소 세서 가져오기

date = pd.date_range('2000-01-01', periods=10, freq='Y')

df = pd.DataFrame(
    {
        "A": pd.Series(np.random.randint(0, 10, size=10), index=date),
        "B": pd.Series(np.random.randint(0, 10, size=10), index=date),
        "C": pd.Series(np.random.randint(0, 10, size=10), index=date),
        "D": pd.Series(np.random.randint(0, 10, size=10), index=date),
        "E": pd.Series(np.random.randint(0, 10, size=10), index=date)
    }
)

df

 

head()/tail() : 열의 Head, Tail부터 세기(기본 5개)

df.head(6)

 

df.tail()

 

2. 열에 대한 통계

df.describe()

 

3. 가장 작은, 큰 원소 행/열 선택

idxmin()/idxmax() : 가장 작은/큰 원소를 가진 행,열 반환

df.idxmin(0)  #행 반환

 

df.idxmin(1)  #열 반환

 

4. 원소 개수 세기

 

value_counts() : 원소 개수 세기

 

date = pd.date_range('2000-01-01', periods=10, freq='Y')

df = pd.DataFrame(
    {
        "A": pd.Series(np.random.randint(0, 2, size=10), index=date),
        "B": pd.Series(np.random.randint(0, 2, size=10), index=date),
        "C": pd.Series(np.random.randint(0, 2, size=10), index=date),
    }
)

df

 

df.value_counts() # 동일한 값을 가진 행의 개수

 

df['A'].value_counts() #열에서 원소 개수 세기

 

df.iloc[0].value_counts() #행에서 원소 개수 세기

 

 

5. 구간 나눈 후 원소 세기

discretization : 구간 나눈 후 원소 세기

  • cut() : N개의 구간으로 나눔
  • value_counts()

 

date = pd.date_range('2000-01-01', periods=10, freq='Y')

df = pd.DataFrame(
    {
        "A": pd.Series(np.random.randint(0, 10, size=10), index=date),
        "B": pd.Series(np.random.randint(0, 10, size=10), index=date),
        "C": pd.Series(np.random.randint(0, 10, size=10), index=date),
        "D": pd.Series(np.random.randint(0, 10, size=10), index=date),
        "E": pd.Series(np.random.randint(0, 10, size=10), index=date)
    }
)

df

 

cut1 = pd.cut(df['A'], 4)
cut1

pd.value_counts(cut1)

 

 

pd.cut(df['A'], 4).value_counts()

 

 

6. 통계함수

  • mean(0) : 열의 평균
  • mean(1) : 행의 평균
  • max, min, sum, median, ...
df.mean(0)

df.mean(1)

반응형

BELATED ARTICLES

more