繁体   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