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

주어진 시리즈에서 유효한 날짜를 필터링하는 프로그램을 Python으로 작성하십시오.

<시간/>

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

0 2010-03-12 1 2011-3-1 2 2020-10-10 3 11-2-2

출력 − 그리고 시리즈의 유효한 날짜에 대한 결과는 다음과 같습니다.

0 2010-03-12 2 2020-10-10

해결책 1

  • 시리즈를 정의하십시오.

  • 람다 필터 방법을 적용하여 시리즈의 패턴을 검증합니다.

data = pd.Series(l)
result = pd.Series(filter(lambda x:re.match(r"\d{4}\W\d{2}\W\d{2}",x),data))
  • 마지막으로 isin() 함수를 사용하여 시리즈에 대한 결과를 확인합니다.

예시

더 나은 이해를 위해 다음 구현을 살펴보겠습니다.

import pandas as pd
import re
l = ['2010-03-12','2011-3-1','2020-10-10','11-2-2']
data = pd.Series(l)
for i,j in data.items():
   if(re.match(r"\d{4}\W\d{2}\W\d{2}",j)):
      print(i,j)

출력

0    2010-03-12
2    2020-10-10
dtype: object

해결책 2

예시

import pandas as pd
import re
l = ['2010-03-12','2011-3-1','2020-10-10','11-2-2']
data = pd.Series(l)
result = pd.Series(filter(lambda x:re.match(r"\d{4}\W\d{2}\W\d{2}",x),data))
print(data[data.isin(result)])

출력

0    2010-03-12
2    2020-10-10
dtype: object