我是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
您可以绕过列表理解的需要,只需使用axis=1
参数即可获得所需内容。
wine['Total'] = wine.sum(axis=1)
一个很好的方法是使用.apply()
。
假设您要通过为名为Total
,101
和102
的列添加每行的值来创建名为103
的新列,您可以尝试以下操作:
wine['Total'] = wine.apply(lambda row: sum([row['101'], row['102'], row['103']]), axis=1)