입력 − 다음 시리즈가 있다고 가정합니다. −
0 1 1 2 2 python 3 pandas 4 3 5 4 6 5
출력 − 정수 요소에 대한 결과는 다음과 같습니다. -
0 1 1 2 4 3 5 4 6 5
해결책 1
-
시리즈를 정의하십시오.
-
정규식 내부에 람다 필터 방법을 적용하여 숫자의 유효성을 검사하고 표현식은 문자열만 허용하므로 모든 요소를 문자열로 변환합니다. 아래에 정의되어 있습니다.
data = pd.Series(ls) result = pd.Series(filter(lambda x:re.match(r"\d+",str(x)),data))
-
마지막으로 isin() 함수를 사용하여 값을 확인합니다.
예시
더 나은 이해를 위해 다음 구현을 살펴보겠습니다.
import pandas as pd ls = [1,2,"python","pandas",3,4,5] data = pd.Series(ls) for i,j in data.items(): if(type(j)==int): print(i,j)
출력
0 1 1 2 4 3 5 4 6 5
해결책 2
예시
import pandas as pd import re ls = [1,2,"python","pandas",3,4,5] data = pd.Series(ls) result = pd.Series(filter(lambda x:re.match(r"\d+",str(x)),data)) print(data[data.isin(result)])
출력
0 1 1 2 4 3 5 4 6 5