如果我有一个DataFrame:
myDF = DataFrame(data=[[11,11],[22,'2A'],[33,33]], columns = ['A','B'])
Run Code Online (Sandbox Code Playgroud)
提供以下数据框(从stackoverflow开始,并且没有足够的信誉用于DataFrame的图像)
| A | B |
0 | 11 | 11 |
1 | 22 | 2A |
2 | 33 | 33 |
Run Code Online (Sandbox Code Playgroud)
如果我想将B列转换为int值并删除无法转换的值,我必须这样做:
def convertToInt(cell):
try:
return int(cell)
except:
return None
myDF['B'] = myDF['B'].apply(convertToInt)
Run Code Online (Sandbox Code Playgroud)
如果我只这样做:
是myDF [ 'B'].应用(int)的
错误显然是:
pandas.lib.map_infer中的C:\ WinPython-32bit-2.7.5.3\python-2.7.5\lib\site-packages\pandas\lib.pyd(pandas\lib.c:42840)()
ValueError:int()的基数为10的无效文字:'2A'
有没有办法将异常处理添加到myDF ['B'].apply()
先感谢您!