티스토리 뷰


※ 오늘의 목표 !!

heatmap, melt, 정규표현식

세 개만 제대로 알자!! (내일되어 까먹어도 됨! 또 보면 되니까 !)


 

#1) sns.heatmap 알아보기

heatmap이란?   다양한 강도, 색상으로 데이터 범위를 시각화해주는 도구. 상관관계 시각화.

parameters 설명 사용방법
annot =  수치표시 annot=True  :  수치표시를 합니다.
annot_kws= 수치표시 사이즈 annot_kws={'size': 20}  : 크기 20으로 수치표시를 합니다.
cmap= 색상변경 cmap="color"  : 컬러는 검색해보고 변경해보면 된다.
https://matplotlib.org/3.2.1/tutorials/colors/colormaps.html
vmin=
vmax=
최소, 최대
기준점 변경
색상이 나타날 수치바의 범위를 조절
fmt='d' 정수형태로 숫자
표시
fmt='d' : integer format으로 숫자를 입력하라는 뜻

 

# seaborn의 예시

  • 사용된 seaborn 구성요소 : set_theme(), load_dataset(), heatmap()
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_theme()

# Load the example flights dataset and convert to long-form
flights_long = sns.load_dataset("flights")
flights = flights_long.pivot("month", "year", "passengers")

# Draw a heatmap with the numeric values in each cell
f, ax = plt.subplots(figsize=(9, 6))
sns.heatmap(flights, annot=True, fmt="d", linewidths=.5, ax=ax)

 

 

 

 

#2) melt와 tidy data

(a).melt(
	id_vars= (b),
    var_name = (c),
    value_name = (d)
    )
parameters 설명 사용방법
id_vars =  식별자 변수 튜플, 목록 등 (선택사항)
value_vars= 피벗을 해제할 열 지정하지 않으면 id_vars가 아닌 모든 열을 사용합니다.
var_name= '변수'열에 사용할
이름
None이면 본래 컬럼 이름을 사용합니다.
value_name= '값'열에 사용할 이름  
ignore_index= 인덱스 설정 ignore_index=True  :  원래 인덱스가 무시됩니다.
ignore_index=False :  원래 인덱스가 유지됩니다.

참고 : pandas API (https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.melt.html)

 

 

 

 

 

#3) 정규표현식  (점프 투 파이썬)

메타문자란?

 : 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자.

. ^ $ * + ? { } [ ] \ | ( )
  메타문자 설명 비고
1 문자 클래스 [ ] 문자 클래스[ ] 안에는 어떤 메타문자도 사용할 수 있다.
※ 주의 (^) : 반대(not)라는 의미를 가짐.

ex) [abc]  => 'a' 매치, 'blue' 매치, 'dog' 매치되지 않음
ex) [a-zA-Z] => 모든 알파벳이 있는 경우 매치됨.
 
자주 사용하는
문자클래스
\d : [0-9]와 동일
\D : [^0-9]와 동일
\s : [ \t\n\r\f\v]와 동일 (whitespace와 매치)
\S : [^ \t\n\r\f\v]와 동일
\w : [a-zA-Z0-9_]와 동일 (모든 문자+숫자와 매치)
\W : [^a-zA-Z0-9_]와 동일
대문자로 사용된 것은
소문자의 반대
2 dot(.) 줄바꿈 문자인 \n을 제외한 모든 문자와 매치.

ex) a.b    => a와b사이에 어떤 문자가 있어도 매치됨.  단, abc는 안됨.
ex) a[.]b  => a.b와 매치됨.
 
3-1 반복(*) * 바로 앞에 있는 문자가 무한대로 반복될 수 있다는 의미.

ex) ca*t  =>  a가 0~무한대로 반복되어도 매치됨.
 
3-2 반복(+) + 는 최소 1번 이상 반복될 때 사용된다.

ex) ca+t  => a가 한 번 이상 반복되어야 매치됨.
0번이면 매치되지 않음.
3-3 반복 ({m,n}, ?) { } 메타문자를 사용하면 반복 횟수를 고정할 수 있다.
{m,n} :  m부터 n까지 반복 (한 가지 기준만 작성해도 작동됨)
※ ? : {0,1}을 의미하며, 있어도 되고 없어도 된다는 뜻이다.

ex) ca{2}t  => caat
ex) ca{2,5}t  =>  caat(0), caaaaat(0), cat(x)
{1,}은 +와 동일
{0,}은 *과 동일

{m,n}보다 *과 +쓰는게 나음.
4 A | B or와 동일한 의미로 A 또는 B라는 뜻.  
5 ^문자열 문자열의 맨 처음과 일치할 경우 match 객체 리턴, 아니면 None
re.MULTILINE 사용 => 여러 줄의 문자열일 경우 각 줄의 처음과 일치.
^ 또는 $를 문자 그 자체로
매치하고 싶은 경우에는
\^, \$로 사용하면 된다.
6 문자열$ 문자열의 맨 끝과 매치함을 의미. ^와 반대의 의미.
7 \A 문자열의 처음과 매치됨을 의미
※ ^와 동일한 의미이지만 re.MULTILINE을 사용할 경우 의미가 다름.
re.MULTILINE 사용 => 줄과 상관없이 전체 문자열의 처음과 매치
 
8 \Z 문자열의 맨 끝과 매치됨을 의미
그 외 위와 같음.
 
9 \b 단어 구분자(word boundary)
보통 단어는 whitespace에 의해 구분된다.

ex) \bcat\b 는 앞 뒤가 whitespace로 구분된 cat이라는 단어와 매치.
※ 백스페이스를 의미하는 \b와 혼동될 수 있으므로 r'\bcat\b'처럼
raw string임을 알려주는 기호 r을 반드시 붙여야 함.
 
10 \B \b와 반대로 whitespace로 구분된 단어가 아닌 경우에만 매치됨.
whitespace가 하나라도 있을 경우에는 매치가 되지 않음.
 

 

<문자열 검색>  출처 : https://wikidocs.net/4308'

** re 모듈 파이썬을 설치할 때 자동으로 설치되는 표준 라이브러리.

ex)  import re
       p = re.comile('ab*')
패턴이란?
정규식을 컴파일한 결과.
  Method 목적  
1 match() 문자열의 처음부터 정규식과 매치되는지 조사한다. 부합할 경우 match 객체 리턴,
아닐 경우 None 리턴
2 search() 문자열 전체를 검색하여 정규식과 매치되는지 조사한다.
3 findall() 정규식과 매치되는 모든 문자열을 리스트로 리턴한다.  
4 finditer() 정규식과 매치되는 모든 문자열을 반복 가능한 객체로 리턴한다.  

 

-내용이 더 많지만 다음에 더 자세히 알아보는 걸로,,,

 

 

 

 

 

#4) 다시 한 번 익히는 코드

  코드 용도 설명 예시
1 dropna() 결측치 제거 괄호 안에 ??  
2 drop() 제거 컬럼제거시 .drop(columns="컬럼명")  
3 nunique() 유일값의 수    

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함