Python 如何处理在划分两列时出现的异常/错误
我有下面的csvPython 如何处理在划分两列时出现的异常/错误,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)
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'@Nonsdf['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我的评估在哪里?