簡體   English   中英

Python-從Pandas DataFrame中刪除包含數字的行

[英]Python - Drop rows from a Pandas DataFrame that contain numbers

我有一個像這樣的數據框:

Value
xyz123
123
abc
def

我想刪除任何包含數字的行,因此最終得到一個像這樣的數據框:

Value
abc
def

我努力了

df = df[df['Value'].str.contains(r'[^a-z]')]

但是我得到了這個錯誤:

“ TypeError:'方法'對象不可下標”

與看起來像變量命名問題無關,您可以更加明確地刪除僅包含數字的行:

df[~df.Value.str.contains(r'\d')]

  Value
2   abc
3   def

\\d

匹配任何Unicode十進制數字(即Unicode字符類別[Nd]中的任何字符)。 這包括[0-9],以及許多其他數字字符。 如果僅使用ASCII標志,則將其匹配[0-9](但該標志會影響整個正則表達式,因此在這種情況下,使用顯式[0-9]可能是更好的選擇)。

IIUC isalpha

df[df.Value.str.isalpha()]
Out[2057]: 
  Value
2   abc
3   def

暫無
暫無

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

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