作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要对第一行包含字符串的列和 b 列进行求和
>>> 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']
最佳答案
混合数据的解决方案 - 数字与字符串:
我认为最简单的是在 sum
之后转换非数值 to_numeric
到 NaN
s:
df['sum'] = pd.to_numeric(df[['a','b']].sum(1), errors='coerce')
或者:
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
编辑:
解决方案 id 数字是字符串表示 - 首先转换为数字,然后求和
:
df['sum'] = pd.to_numeric(df['a'], errors='coerce') + pd.to_numeric(df['b'], errors='coerce')
print (df)
a b sum
0 c d NaN
1 1 2 3.0
2 3 4 7.0
或者:
df['sum'] = (df[['a', 'b']].apply(lambda x: pd.to_numeric(x, errors='coerce'))
.sum(axis=1, min_count=1))
print (df)
a b sum
0 c d NaN
1 1 2 3.0
2 3 4 7.0
关于pandas - pandas 中具有字符串和数字的总列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55861277/
我是一名优秀的程序员,十分优秀!