创建pandas中其他列的和值的计算列

时间:2017-09-05 17:08:05

标签: python pandas

我有一个包含大约60列的数据框,结构如下:

    A    B  C           Y
0   12   1  0           1
1   13   1  0   [....]  0
2   14   0  1           1
3   15   1  0           0    
4   16   0  1           1

我想创建一个第z列,它将是B列到Y列的值的总和。

我该怎么办?

3 个答案:

答案 0 :(得分:3)

要在包含新列的同时创建数据框的副本,请使用assign

df.assign(Z=df.loc[:, 'B':'Y'].sum(1))

    A  B  C  Y  Z
0  12  1  0  1  2
1  13  1  0  0  1
2  14  0  1  1  2
3  15  1  0  0  1
4  16  0  1  1  2

要将其分配到同一数据框,请使用

df['Z'] = df.loc[:, 'B':'Y'].sum(1)
df

    A  B  C  Y  Z
0  12  1  0  1  2
1  13  1  0  0  1
2  14  0  1  1  2
3  15  1  0  0  1
4  16  0  1  1  2

答案 1 :(得分:3)

试试这个

   df['z']=df.iloc[:,1:].sum(1)

答案 2 :(得分:2)

你可以

In [2361]: df.assign(Z=df.loc[:, 'B':'Y'].sum(1))
Out[2361]:
    A  B  C  Y  Z
0  12  1  0  1  2
1  13  1  0  0  1
2  14  0  1  1  2
3  15  1  0  0  1
4  16  0  1  1  2