我是pandas新手,我想知道pandas dataframe除了使用try / except python之外还有自己的异常处理方式吗?
我已经尝试了python的exec函数来编写整个try / except在一行但我想要pandas特定的语法或异常处理方式,可以在一行中完成。
以下是我尝试过的代码:
import pandas as pd
import numpy as np
data1 = {'id' : [1,2,3,4,5], 'Rate' : [5,9,3,'A',6], 'Name' : ['a','b','c','d','e']}
df = pd.DataFrame(data1)
df['M_Rate1'] = df['Rate'].apply(lambda x, y=exec("def f(s):\n try:\n return int(s) * 2\n except ValueError as e: return 'Only Number can be converted to int'"): f(x)) 它们是pandas 中异常处理的更好方法吗?
使用pandas to_numeric并强制执行失败的转换:
df['M_Rate1'] = pd.to_numeric(df['Rate'], errors='coerce') * 2
如果您必须有错误消息(不推荐):
df['M_Rate1'] = pd.to_numeric(df['Rate'], errors='coerce').mul(2).fillna('error_message')
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。