Numpy , Pandas , 시각화

판다스 문자열 찾기

판교데싸 2020. 10. 11. 17:12

문자열의 처음이나 마지막에 있는 텍스트를 매칭하는 간단한 방법이 있다. 

 

문자열 안에서 특정 텍스트를 찾는 방법은 정말 여러가지 인데

 

만약 내가 찾고 싶은 문자열의 형태가 문자열 처음에 있거나 마지막에 있다면

 

str.startswith()와 str.endswith()를 사용해서 쉽게 찾을 수 있다. 

 

 

쉬운 예

- str.startswith()

 

str = "this is string example....wow!!!";

print str.startswith( 'this' ); print str.startswith( 'is', 2, 4 ); 

print str.startswith( 'this', 2, 4 ); 

 

>>> url='http://www.google.com'

>>> url.startswith('http://')

True 

 

 

 

-str.endswith()

>>> import os

>>> filename = os.listdir('.')

>>> filename

['DLLs', 'Doc', 'game', 'include', 'Lib', 'libs', 'LICENSE.txt', 'Mymoduels', 'NEWS.txt', 'note.xml', 'Pillow-wininst.log', 'python.exe', 'pythonw.exe', 'pywin32-wininst.log', 'qt.conf', 'README.txt', 'RemovePillow.exe', 'Removepywin32.exe', 'Scripts', 'tcl', 'Tools', 'Tulips.jpg']

>>> [name for name in filename if name.endswith(('.c', '.h', '.txt'))]

['LICENSE.txt', 'NEWS.txt', 'README.txt'] 

 

끝에가 '.c', '.h', '.txt' 인 것을 리스트로 표현했다. 

 

 

 

* 여기서 우리가 찾고 싶은 입력값이 리스트나 세트라면 먼저 튜플로 변환해주어야 한다. 

예)

>>> choice = ['http:', 'https:']

>>> url = 'http://www.google.com'

>>> url.startswith(choice)

Traceback (most recent call last):

  File "<pyshell#32>", line 1, in <module>

    url.startswith(choice)

TypeError: startswith first arg must be str or a tuple of str, not list

>>> url.startswith(tuple(choice)) #튜플러 변환

True

>>> tuple(choice)

('http:', 'https:') 

 

Python  Pandas isin 구문

 

Python에서 테이블 형식의 데이터를 읽고 처리할 때 가장 많이 쓰이는 pandas 라이브러리에서는 다양한 데이터 처리 기능을 구현하고 있다. 이 중에 isin 구문은 열이 list의 값들을 포함하고 있는 모든 행들을 골라낼 때 주로 쓰인다. 

 

예를 들어, 아래 예제를 보면

 

df = DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'f']}) df.isin([1, 3, 12, 'a'])

 

이와 같이 이진값을 반환한다. 

A B 0 True True 1 False False 2 True False

이를 그대로 쓰는 경우보다 Dataframe의 컬럼에서 어떤 list의 값을 포함하고 있는것만 걸러낼 때 isin 구문이 유용하다.

 

이러한 데이터프레임이 있을 때

df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'f']})

AB012

1 a
2 b
3 f


A 컬럼의 값이 [1,3,12]를 포함하는 것만 골라낸다.

df[df['A'].isin([1, 3, 12])]

 

반응형

'Numpy , Pandas , 시각화' 카테고리의 다른 글

Tensor 및 Numpy 기본  (0) 2020.11.30
판다스 csv 저장  (0) 2020.07.30
날짜변환(datetime)  (0) 2020.07.16
반응형