관리 메뉴

ruriruriya

[Python] 파이썬 νŒλ‹€μŠ€(Pandas) - λ°μ΄ν„°νŒŒμ•…ν•˜κΈ°(head, tail, describe, info, shape, columns) λ³Έλ¬Έ

🐍Python/Pandas

[Python] 파이썬 νŒλ‹€μŠ€(Pandas) - λ°μ΄ν„°νŒŒμ•…ν•˜κΈ°(head, tail, describe, info, shape, columns)

루리야ㅑ 2023. 11. 16. 09:09
λ°˜μ‘ν˜•

사진: Unsplash 의 Polina Razorilova

describe()λ©”μ†Œλ“œλž€?

describe() λ©”μ†Œλ“œλŠ” νŒλ‹€μŠ€μ—μ„œ λ°μ΄ν„°ν”„λ ˆμž„μ˜ κ°„λ‹¨ν•œ 톡계 μš”μ•½ 정보λ₯Ό μ œκ³΅ν•˜λŠ” λ©”μ†Œλ“œμ΄λ‹€. 이 λ©”μ†Œλ“œλŠ” λ°μ΄ν„°ν”„λ ˆμž„μ˜ 각 열에 λŒ€ν•œ μš”μ•½ ν†΅κ³„λŸ‰μ„ κ³„μ‚°ν•˜μ—¬ λ°˜ν™˜ν•œλ‹€.

  • 개수(count): 각 열에 μžˆλŠ” λΉ„κ²°μΈ‘μΉ˜(non-null) ν•­λͺ©μ˜ 수λ₯Ό λ‚˜νƒ€λ‚Έλ‹€.
  • 평균(mean): 각 μ—΄μ˜ 평균 값을 보여쀀닀.
  • ν‘œμ€€νŽΈμ°¨(std): 각 μ—΄ κ°’λ“€μ˜ ν‘œμ€€νŽΈμ°¨λ₯Ό 보여쀀닀.
  • μ΅œμ†Ÿκ°’(min): 각 μ—΄μ˜ μ΅œμ†Ÿκ°’μ„ 보여쀀닀.
  • λ°±λΆ„μœ„μˆ˜(25%, 50%, 75%): 각 μ—΄μ˜ λ°±λΆ„μœ„μˆ˜(25%, 50%, 75%)λ₯Ό 보여쀀닀.
  • μ΅œλŒ“κ°’(max): 각 μ—΄μ˜ μ΅œλŒ“κ°’μ„ 보여쀀닀.

 

νŒŒμΌμ—μ„œ 뢈러온 λ°μ΄ν„°λ‘œ λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•΄λ³΄μž :)
describe() λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ μ•„λž˜μ™€ 같이 κΈ°λ³Έ 톡계정보듀이 λ‚˜μ˜¨λ‹€.

>> df.describe()

νŠΉμ • 칼럼의 κΈ°μ΄ˆν†΅κ³„ λ°μ΄ν„°λ§Œ 보여쀄 μˆ˜λ„ μžˆλ‹€.

μœ„ λ°μ΄ν„°ν”„λ ˆμž„μ˜ 'High'  컬럼의 κΈ°μ΄ˆν†΅κ³„ 자료만 보자.

>> df['High'].describe()
count    3313.000000
mean      383.493740
std       224.974534
min        50.541279
25%       228.394516
50%       295.433502
75%       540.000000
max       997.210022
Name: High, dtype: float64

 'Open'κ³Ό 'Close' 컬럼의 κΈ°μ΄ˆν†΅κ³„ 자료만 보자.

>> df[['Open','Close']].describe()

기초 톡계 자료의 μΌλΆ€λΆ„λ§Œ λ³Ό μˆ˜λ„ μžˆλ‹€.

'High'컬럼의 μ΅œλŒ€κ°’λ§Œ κ°€μ Έμ˜¨λ‹€.

>> df['High'].max()
997,210022

 

 

info() λ©”μ†Œλ“œλž€?

info() λ©”μ†Œλ“œλŠ” νŒλ‹€μŠ€μ—μ„œ λ°μ΄ν„°ν”„λ ˆμž„μ— λŒ€ν•œ κ°„λ‹¨ν•œ 정보λ₯Ό μ œκ³΅ν•˜λŠ” λ©”μ†Œλ“œλ‹€. 이 λ©”μ†Œλ“œλŠ” λ°μ΄ν„°ν”„λ ˆμž„μ˜ ꡬ쑰와 각 열에 λŒ€ν•œ 정보λ₯Ό μš”μ•½ν•˜μ—¬ 보여쀀닀.

이 λ•Œ 데이터 νƒ€μž…μ„ 잘 λ³Ό 쀄 μ•Œμ•„μ•Ό ν•œλ‹€.(μ€‘μš”ν•œ λΆ€λΆ„β˜…)

  • 인덱슀 정보: λ°μ΄ν„°ν”„λ ˆμž„μ˜ 인덱슀 정보와 μ—΄μ˜ 수λ₯Ό 보여쀀닀.
  • μ—΄(column) 정보: 각 μ—΄μ˜ 이름, λΉ„κ²°μΈ‘μΉ˜(non-null)인 κ°’μ˜ 개수, 데이터 νƒ€μž…(dtype) 등을 보여쀀닀.
  • λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰: λ°μ΄ν„°ν”„λ ˆμž„μ΄ μ°¨μ§€ν•˜λŠ” λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰μ„ 보여쀀닀.
>> df.info() #μ»¬λŸΌμ— λŒ€ν•œ 정보λ₯Ό μ•Œλ €μ€Œ. λ°μ΄ν„°νƒ€μž… 맀우 μ€‘μš”**

 

head() λ©”μ†Œλ“œλž€?

νŒλ‹€μŠ€μ˜ head() λ©”μ†Œλ“œλŠ” λ°μ΄ν„°ν”„λ ˆμž„μ˜ 처음 λͺ‡ 개의 행을 λ°˜ν™˜ν•˜λŠ” κΈ°λŠ₯을 ν•œλ‹€. 기본적으둜, head() λ©”μ†Œλ“œλŠ” μƒμœ„ 5개의 행을 보여쀀닀. ν•˜μ§€λ§Œ κ΄„ν˜Έ μ•ˆμ— 숫자λ₯Ό λ„£μ–΄ ν•΄λ‹Ή 숫자만큼의 행을 ν‘œμ‹œν•  μˆ˜λ„ μžˆλ‹€. 이λ₯Ό 톡해 λ°μ΄ν„°ν”„λ ˆμž„μ˜ 첫 뢀뢄을 λΉ λ₯΄κ²Œ μ‚΄νŽ΄λ³Ό 수 μžˆμ–΄ 데이터 ꡬ쑰와 λ‚΄μš©μ„ λΉ λ₯΄κ²Œ νŒŒμ•…ν•˜λŠ” 데 도움이 λœλ‹€.

λ§€κ°œλ³€μˆ˜ 없이 head() λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•΄ 보자.
μ•„λž˜ 5개 ν–‰κΉŒμ§€λ§Œ ν‘œμ‹œ λ˜λŠ” 것을 λ³Ό 수 μžˆλ‹€.

>> df.head() #defalt둜 5개만 λ³΄μ—¬μ€Œ

 

λ§€κ°œλ³€μˆ˜λ₯Ό λ„£μ–΄μ„œ head() λ©”μ†Œλ“œ μ‚¬μš©ν•΄λ³΄μž.
μ•„λž˜μ— λ§€κ°œλ³€μˆ˜λ§ŒνΌμ˜ ν–‰λ§Œ 좜λ ₯λ˜λŠ” 것을 λ³Ό 수 μžˆλ‹€.

>> df.head(3) #수 λ§€κ°œλ³€μˆ˜μ„ μ“°λ©΄ 수만큼

 

 

tail()λ©”μ†Œλ“œλž€

νŒλ‹€μŠ€μ˜ tail() λ©”μ†Œλ“œλŠ” λ°μ΄ν„°ν”„λ ˆμž„μ˜ λ§ˆμ§€λ§‰ λͺ‡ 개의 행을 λ°˜ν™˜ν•œλ‹€. 기본적으둜, tail() λ©”μ†Œλ“œλŠ” ν•˜μœ„ 5개의 행을 보여쀀닀. ν•˜μ§€λ§Œ κ΄„ν˜Έ μ•ˆμ— 숫자λ₯Ό λ„£μ–΄ ν•΄λ‹Ή 숫자만큼의 행을 ν‘œμ‹œν•  μˆ˜λ„ μžˆλ‹€. λ°μ΄ν„°ν”„λ ˆμž„μ˜ λ§ˆμ§€λ§‰ 뢀뢄을 μ‚΄νŽ΄λ³΄λ©° λ°μ΄ν„°μ˜ 끝을 ν™•μΈν•˜λŠ” 데 μ‚¬μš©λœλ‹€. 이λ₯Ό 톡해 λ°μ΄ν„°μ˜ 끝 뢀뢄을 λΉ λ₯΄κ²Œ μ‚΄νŽ΄λ³΄κ³  정보λ₯Ό 확인할 수 μžˆλ‹€.

λ§€κ°œλ³€μˆ˜ μ—†λŠ” tail λ©”μ†Œλ“œλ₯Ό 써보자.

>> df.tail()

 

λ§€κ°œλ³€μˆ˜ μžˆλŠ” tail λ©”μ†Œλ“œλ₯Ό 써보자
μ•„λž˜μ™€ 같이  λ§ˆμ§€λ§‰μ—μ„œ λ§€κ°œλ³€μˆ˜ 만큼만 행이 좜λ ₯λœλ‹€.

>> df.tail(3)

 

shape() λ©”μ†Œλ“œλž€

νŒλ‹€μŠ€μ˜ shape λ©”μ†Œλ“œλŠ” λ°μ΄ν„°ν”„λ ˆμž„μ˜ 차원을 ν™•μΈν•˜λŠ” 데 μ‚¬μš©λœλ‹€. 이 λ©”μ†Œλ“œλ₯Ό ν˜ΈμΆœν•˜λ©΄ λ°μ΄ν„°ν”„λ ˆμž„μ˜ ν–‰κ³Ό μ—΄μ˜ 수λ₯Ό νŠœν”Œλ‘œ λ°˜ν™˜ν•œλ‹€. 예λ₯Ό λ“€μ–΄, (ν–‰μ˜ 수, μ—΄μ˜ 수) ν˜•μ‹μœΌλ‘œ λ°˜ν™˜λœλ‹€.

 

columns() λ©”μ†Œλ“œλž€

νŒλ‹€μŠ€μ˜ columns() λ©”μ†Œλ“œλŠ” λ°μ΄ν„°ν”„λ ˆμž„μ˜ μ—΄ λ ˆμ΄λΈ”(컬럼 이름)을 λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œλ‹€. 이 λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ λ°μ΄ν„°ν”„λ ˆμž„μ˜ μ—΄ 이름듀을 리슀트둜 얻을 수 μžˆλ‹€.

>> df.columns
Index(['Bob', 'Alice'], dtype='object')

 

 

λ°˜μ‘ν˜•