簡體   English   中英

如何讓 Python 識別 DataFrame 單元格中的星號?

[英]How can I make Python recognize an asterisk in a cell of my DataFrame?

所以,我有一個 DataFrame 在某些單元格中顯示星號而不是數字。 我想構建一個 function 來發現單元格中的星號並將它們替換為 0。這就是我在想的:

def clean(row):
    if 's' in str(row):
        return re.sub(r's', '', str(row))

    elif '*' in str(row):
        return re.sub('*','' , str(row))

    else:
        return row

但很明顯,我需要一些表達式來轉義“*”並讓 Python 將其識別為我想要替換的 object。 這里對 function 感興趣的部分當然是“elif”。 在此先感謝您的幫助。

你正在尋找反斜杠。

\ 反斜杠,關閉下一個字符的特殊含義。

import re


def clean(row):
    if 's' in str(row):
        return re.sub(r's', '', str(row))

    elif '*' in str(row):
        return re.sub(r'\*', '', str(row))

    else:
        return row


row = "ij*efs"
print(row, clean(row))

如果你想替換 Dataframe 中的每個星號,你可以使用df.replace()方法。

df.replace(to_replace=r'\*', value='', regex=True)

暫無
暫無

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

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