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