我要删除以下各列中的字符吗?我有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]
答案 0 :(得分:0)
这里是经过编辑的代码-
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
。