Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

주어진 시리즈의 정수 요소만 필터링하는 프로그램을 Python으로 작성하십시오.

<시간/>

입력 − 다음 시리즈가 있다고 가정합니다. −

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