簡體   English   中英

檢查 pandas 列中的語法是否符合某些條件

[英]check if syntax in pandas column meets certain criteria

我在下面有 dataframe:

df = pd.DataFrame(np.array(['YM.296','MM.305','VO.081.019','VO.081.016','AM.081.002.001','AM081','SR.082','VO.081.012.001','VO.081.012.003']))

我想知道語法在哪一行類似於“XX.222.333”(示例)。 因此,兩個字母后跟一個停止符('.'),然后是三個數字,然后是一個停止符('.'),然后是三個數字。

期望的結果如下所示:

tf = pd.DataFrame(np.array([False,False,True,True,False,False,False,False, False]))

有沒有一種快速和pythonic的方法來做到這一點?

您可以使用str.contains和正則表達式來做到這一點。

如下:

df[0].str.contains(r'^[A-Z]{2}\.\d{3}\.\d{3}$', regex=True)

輸出:

0    False
1    False
2     True
3     True
4    False
5    False
6    False
Name: 0, dtype: bool

這是使用的正則表達式的可視化:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM