Pandas无法对数据框进行求和

3

我有一个像这样的数据框。

                                  E   F                                 
    ID    A     B       C     D   E   F
    0    0     ABC    AAA    BCD  1   -
    1    1     ABC    AAA    BCD  4   -  
    2    2     ABC    AAA    BCD  6   -

我通过print(type(df['E']))打印数据框的类型,输出结果如下。

<class 'pandas.core.series.Series'>

我尝试对E列中的数值求和,但它显示了以下输出。
E146

如何对数据帧列求和?正确的值应该是11(1+4+6)。

使用 df['E'][-3] 和求和函数。由于数据框中列 E 中存在单个字符 E,导致求和函数无法正常工作。在这种情况下,它会将该列的值连接起来,从而导致输出结果为 E146 - CodeIt
2个回答

4

使用:

print(df['E'].iloc[1:].astype(int).sum())

0
您可以使用带有 "coerce" 的 "pd.to_numeric" 将非数字值翻转为 "NaN",然后 "sum" 会自行处理 "NaN"。
pd.to_numeric(df['E'], errors='coerce').sum()

Out[45]: 11.0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接