我想在DataFrame中添加所有列,并且我希望将此总和添加为DataFrame中的新列。
我想要"所有"列可用,但未提及查询中的第一列和最后一列。
这可能吗?
答案 0 :(得分:2)
使用sum
:
import pandas as pd
import numpy as np
#random dataframe
np.random.seed(1)
df1 = pd.DataFrame(np.random.randint(10, size=(3,5)))
df1.columns = list('ABCDE')
print df1
A B C D E
0 5 8 9 5 0
1 0 1 7 6 9
2 2 4 5 2 4
df1['sum'] = df1.sum(axis=1)
print df1
A B C D E sum
0 5 8 9 5 0 27
1 0 1 7 6 9 23
2 2 4 5 2 4 17
另一种创建新列的解决方案是assign
:
print df1.assign(sum=df1.sum(axis=1))
A B C D E sum
0 5 8 9 5 0 27
1 0 1 7 6 9 23
2 2 4 5 2 4 17
答案 1 :(得分:1)
pd.concat([df, df.sum(axis=1)], axis=1)
答案 2 :(得分:1)
df['sum'] = df.sum(axis=1)