gpt4 book ai didi

pandas - pandas 中具有字符串和数字的总列

转载 作者:行者123 更新时间:2023-12-02 20:01:00 26 4
gpt4 key购买 nike

我需要对第一行包含字符串的列和 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_numericNaNs:

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com