簡體   English   中英

刪除 Pandas 數據框列中的小寫字母

[英]Removing lower case letter in column of Pandas dataframe

我有以下 df

data = {'Name':['TOMy', 'NICKs', 'KRISHqws', 'JACKdpo'], 'Age':[20, 21, 19, 18]}

如何從 Name 列中刪除小寫字母,以便在查看data['Name'] ,我有TOM,NICK,KRISH,JACK

我嘗試了以下但沒有運氣,

data['Name'].mask(data['Name'].str.match(r'^[a-z]+$'))
data['Name'] = data['Name'].str.translate(None,string.ascii_lowercase)

您可以使用.str.replace(..) [pandas-doc]更新name列:

df['Name'] = df['Name'].str.replace('[a-z]', '')

對於給定的樣本數據,這給了我們:

>>> df['Name'].str.replace('[a-z]', '')
0      TOM
1     NICK
2    KRISH
3     JACK
Name: Name, dtype: object

如果你不喜歡 RegEx,你也可以試試這個:

df['Name'].apply(lambda x: ''.join([letter for letter in x if letter.isupper()]))

對於Name列中的所有行,連接所有大寫字母。

暫無
暫無

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

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