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