如果我有一个DataFrame:
myDF = DataFrame(data=[[11,11],[22,'2A'],[33,33]], columns = ['A','B'])
给出以下数据框(在 Stack Overflow 上开始并没有足够的声望来上传数据框的图像)
| A | B |
0 | 11 | 11 |
1 | 22 | 2A |
2 | 33 | 33 |
如果我想将B列转换为整数值并删除无法转换的值,我需要执行以下操作:
def convertToInt(cell):
try:
return int(cell)
except:
return None
myDF['B'] = myDF['B'].apply(convertToInt)
如果我只执行以下操作:``` myDF['B'].apply(int) ```
显然会出现以下错误:
``` C:\WinPython-32bit-2.7.5.3\python-2.7.5\lib\site-packages\pandas\lib.pyd in pandas.lib.map_infer(pandas\lib.c:42840)() ValueError: invalid literal for int() with base 10: '2A' ```
有没有一种方法可以为 `myDF['B'].apply()` 添加异常处理呢?
谢谢您的帮助!