在pandas中的列有字符串和数字

问题描述 投票:1回答:1

我需要对列和列b进行求和,其中包含第1行中的字符串

>>> df
   a  b
0  c  d
1  1  2
2  3  4
>>> df['sum'] = df.sum(1)
>>> df
   a  b sum
0  c  d  cd
1  1  2   3
2  3  4   7

我只需要添加数值并得到类似的输出

>>> df
   a  b sum
0  c  d  "dummyString/NaN"
1  1  2   3
2  3  4   7

我只需要添加一些列

df['sum']=df['a']+df['b']

pandas
1个回答
3
投票

解决方案如果是混合数据 - 数字与字符串

我认为最简单的是将sum之后的非数值转换为to_numeric

NaN

要么:

df['sum'] = pd.to_numeric(df[['a','b']].sum(1), errors='coerce')

编辑:

解决方案ID号码是字符串表示 - 首先转换为数字然后qazxsw poi:

df['sum'] = pd.to_numeric(df['a']+df['b'], errors='coerce')

print (df)
   a  b  sum
0  c  d  NaN
1  1  2  3.0
2  3  4  7.0

要么:

sum
© www.soinside.com 2019 - 2024. All rights reserved.