Python 创建表中其他列总和值的计算列

Python 创建表中其他列总和值的计算列,python,pandas,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 我想创建一个zth列,它是从B列到Y列的值的总和 我怎样才能继续 要在包含新列的同时创建数据帧的副本,请使用assign df.assi

我有一个大约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
我想创建一个zth列,它是从B列到Y列的值的总和


我怎样才能继续

要在包含新列的同时创建数据帧的副本,请使用
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

要在包含新列的同时创建数据帧的副本,请使用
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
你可以

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
你可以

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
试试这个

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

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

可能重复的可能重复的感谢,这对我很有用。我希望我能得到一个解释,为什么?@Joe你的第一列数据类型可以是object,而且,iloc是按位置1分割数据帧:这里的意思是第二列的sleet谢谢,这对我很有用。我希望我能得到一个解释,为什么?@Joe你的第一列数据类型可以是object,而且,iloc是按位置1对数据帧进行切片:这里的意思是第二列的sleet