Python 如何处理在划分两列时出现的异常/错误

Python 如何处理在划分两列时出现的异常/错误,python,pandas,Python,Pandas,我有下面的csv A,B 1,0 1,1 1,- 10,5 这是我的期望值 A,B,C 1,0,0 1,1,1 1,-,0 10,5,2.0 如果出现值错误或异常,则C的输出为0。意味着我需要除以df['A']/df['B'] 我是否需要为此编写一个函数,使用try except或在pandas中是否有任何选项?pd.to\u numeric+fillna df['C']=df[['A','B']].apply(pd.to_numeric,errors='coerce').fillna(0)

我有下面的csv

A,B
1,0
1,1
1,-
10,5
这是我的期望值

A,B,C
1,0,0
1,1,1
1,-,0
10,5,2.0
如果出现值错误或异常,则
C
的输出为
0
。意味着我需要除以
df['A']/df['B']

我是否需要为此编写一个函数,使用
try except
或在pandas中是否有任何选项?

pd.to\u numeric
+
fillna

df['C']=df[['A','B']].apply(pd.to_numeric,errors='coerce').fillna(0).eval('A*B')
df
   A  B    C
0  1  0  0.0
1  1  1  1.0
2  1  -  0.0

替换
-
并将
B
转换为
int
,然后进行除法您需要先处理将B列转换为数值的操作,然后尝试执行数学运算。您可以按照@YOBEN_S在该解决方案中所显示的方式执行此操作。endTypeError处的语法无效:无法将序列与'str'@Nons
df['A','B']]类型的非整数相乘。apply(pd.to_numeric,errors='improve')
运行了吗?
df['A','B']]。apply(pd.to_numeric,errors='improve')
正在运行,但当我要添加
df['A','B']].apply(pd.to_numeric,errors='concurve')
,它的抛出错误,我还有一些其他列必须intact@Nons我的评估在哪里?