相关疑难解决方法(0)

Pandas .apply()函数中的异常处理

如果我有一个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()

先感谢您!

python exception-handling pandas

12
推荐指数
3
解决办法
2万
查看次数

标签 统计

exception-handling ×1

pandas ×1

python ×1