首页 > 解决方案 > 如何对数据帧的子集求和

问题描述

我有一个大数据框,我只是想对选定行范围内的每一列求和,然后将该总和添加到数据框的末尾。

我尝试了不同的熊猫函数,如 at、iat、loc 和 iloc,但我似乎无法对数据帧进行子集化然后正确求和。

   df = pd.DataFrame({'1': ['A', 'B', 'C', 'D'],
                     '2': ["alpha", 2.34, 0, 4.1234],
                     '3': ["bravo", 20.123, 3.123123, 0]},
                     index=['1', '2', '3', '4'])

#df.fillna(0)

我在大型数据帧上使用了 fillna 来替换 NaN 值,唯一让我担心的是 #
它是一个正在替换 NaN 的整数。

df.loc['sum'] = (df.iloc[2:4, 2:3]).sum(axis = 0)

实际的

       1       2        3
1      A   alpha    bravo
2      B    2.34   20.123
3      C       0  3.12312
4      D  4.1234        0
sum  NaN     NaN  3.12312

预期的

       1       2        3
1      A   alpha    bravo
2      B    2.34   20.123
3      C       0  3.12312
4      D  4.1234        0
sum  NaN  6.4634‬  23.24612‬

我很确定我要么错误地使用 iloc,要么 sum 函数需要我更改整个帧的 dtypes 以使它们全部浮动

标签: pythonpandasdataframe

解决方案


推荐阅读