我想删除下面列中的字符?我有10个这样的专栏
B15.5
e10.5
19.5K
NAN
Q2.4
NAN
T82.7
14.5
14.6P
我尝试使用“df ['column'] = df ['column']。str [: - 2]”但不工作
“df ['column'] = df ['column']。str [: - 2]
这是编辑的代码 -
def removeFirstLastChar(inp):
inputStr = str(inp)
if inputStr.lower() == 'NAN'.lower():
return inp
if(inputStr[0].isalpha() == True):
inputStr = inputStr[1:]
if(inputStr[-1].isalpha() == True):
inputStr = inputStr[:-1]
return float(inputStr)
print(removeFirstLastChar('Q2.4'))
print(removeFirstLastChar('14.6P'))
print(removeFirstLastChar('Q14.6P'))
print(removeFirstLastChar(float('NAN')))
输出 -
2.4
14.6
14.6
nan
请注意,如果字符串为-https://docs.python.org/3/library/stdtypes.html#str.isalpha,则只会从字符串中删除一个起始或结束字符。此外,这将返回一个浮点数,而不是一个字符串。如果需要字符串,请将return float(inputStr)
函数更改为return inputStr
。