編寫一個 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

  • 定義一個序列。

  • 應用 lambda 篩選方法來驗證序列中的一個模式,

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

更新於: 2021-02-24

194 次瀏覽

開啟您的職業生涯

完成課程獲取認證

立即開始
廣告