删除列中的混合字符

问题描述 投票:-1回答:1

我想删除下面列中的字符?我有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]

python-3.x pandas
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.