首页 > 解决方案 > 使用 Python 计算特定行的总和

问题描述

我需要计算数据框中特定行的总和

例如, Nombre de reboot, Passage en mode privé, Passage en mode public, Nombre de Kilomètres parcourus, Heures de roulage, Temps de trajet..

我在前三行测试了这段代码:

import pandas as pd
df = pd.read_excel('mycollected_data1.xlsx')


print (df.iloc[:3, df.columns.get_indexer(['Valeurs','Valeurs.1','Valeurs.2'])])
a = df.iloc[1:3, [1,2,3]].sum()

print ('a\n', a)

这是输出

    Valeurs Valeurs.1 Valeurs.2
0       3         5         0
1       2         1         1
2       0         0         0
a
 Valeurs      2.0
Valeurs.1    1.0
Valeurs.2    1.0
dtype: float64

所需的输出:

        Valeurs Valeurs.1 Valeurs.2   sum
    0       3         5         0       8
    1       2         1         1       4
    2       0         0         0       0

如何让它计算特定给定行的总和?

标签: python-3.xpandassumrows

解决方案


国际大学联合会,

我们可以.sum在将轴指定为 1 时使用以逐行工作。

cols = ['Valeurs','Valeurs.1','Valeurs.2']

df['sum'] = df[cols].sum(axis=1)

print(df)

   Valeurs  Valeurs.1  Valeurs.2  sum
0        3          5          0    8
1        2          1          1    4
2        0          0          0    0

编辑,如果您需要访问某些行,您可以使用.loc@quant 的函数

row_start = 0
row_end = 2
df.loc[row_start:row_end,cols].sum(axis=1)

作为一个忠告,您似乎重复了具有相似数据类型的列名,我会首先清理您的列标题,然后融合您的数据框以获得表格模型。


推荐阅读