如何让 Python 识别我的 DataFrame 单元格中的星号?
How can I make Python recognize an asterisk in a cell of my DataFrame?
所以,我有一个 DataFrame,它在某些单元格中显示星号而不是数字。我想构建一个函数来识别单元格中的星号并将其替换为 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 将其识别为我要替换的对象。这里函数中感兴趣的部分当然是 "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)
所以,我有一个 DataFrame,它在某些单元格中显示星号而不是数字。我想构建一个函数来识别单元格中的星号并将其替换为 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 将其识别为我要替换的对象。这里函数中感兴趣的部分当然是 "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)