簡體   English   中英

如何使用正則表達式和python從數據框中過濾數值

[英]How to filter numerical values from a dataframe using regex and python

如果假設我有一列如下,我想在其中過濾帶有特殊字符的數值和數值。 在下面的列中 123,6.7%,2.36,2.9 應刪除,列必須保留其他值。

column
   123
   str00
   6.7%
   2.36
   ret56
   2.9
   73,36

您可以通過過濾器應用正則表達式。 在我的示例中,我檢查了不能出現在數值(例如字母字符 AZ)和逗號中的內容。 您可以添加更多,以防萬一它不能全部捕獲。
相反的方法是匹配數字,但這更難,因為它也會捕獲第二行(str00)。 要反轉過濾器,您需要在示例中的打印之前在方括號內添加~

import pandas as pd


d = {'column': [
    '123', 
    'str00', 
    '6.7%',
    '2.36',
    'ret56',
    '2.9',
    '73,36'
    ]
}

df = pd.DataFrame(data=d)
filter = df['column'].str.contains('[A-Za-z,]')
df = df[filter]

print(df)

輸出:

  column
1  str00
4  ret56
6  73,36

暫無
暫無

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

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