DataFrame添加一个数据帧行,即每行和的总和

问题描述 投票:0回答:2

我是Python的新手,我有一个问题。我有一个带有值的导出的.csv,我希望将每行的总值相加,而不是将总列放到那里。

我试过了,但它不起作用。

import pandas as pd


wine = pd.read_csv('testelek.csv', 'rb', delimiter=';')

wine['Total'] = [wine[row].sum(axis=1) for row in wine]

我想让我的DataFrame像这样。

              101       102       103       104   ....   Total     
__________________________________________________________________________
    0         80        84        86        78   ....     328
    1         78        76        77        79   ....     310
    2         79        81        88        83   ....     331
    3         70        85        89        84   ....     328            
    4         78        84        88        85   ....     335
python python-3.x
2个回答
0
投票

您可以绕过列表理解的需要,只需使用axis=1参数即可获得所需内容。

wine['Total'] = wine.sum(axis=1)

0
投票

一个很好的方法是使用.apply()。 假设您要通过为名为Total101102的列添加每行的值来创建名为103的新列,您可以尝试以下操作:

wine['Total'] = wine.apply(lambda row: sum([row['101'], row['102'], row['103']]), axis=1)
© www.soinside.com 2019 - 2024. All rights reserved.