如何将DataFrame中除第一列之外的所有列合并为一列,并删除空行?蟒蛇

时间:2018-07-04 19:20:25

标签: python pandas dataframe

我有一个包含多个列的大型数据框,并且希望将除第一个列以外的所有列的所有值合并到一个新列('New')中。然后删除'New'为空的行。

DataFrame看起来像这样(行'C'为空):

    'Column1'  'Column2'  'Column3'  'Column4'  'Column5'  ...
0    A          a
1    B                     b
2    C
3    D          d
4    E                                e
5    F                                           f
6    G                     g
7    H                                h
...

我正在寻找的结果是:

    'Column1'  'New'
0    A          a
1    B          b
2    D          d
3    E          e
4    F          f
5    G          g
6    H          h
...

因此第一列保持不变,所有其他列都合并到列'New'中。由于行C不包含任何值,因此将从最后一个DataFrame中删除它。

最有效的方法是什么?

2 个答案:

答案 0 :(得分:0)

您可以使用sum

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

答案 1 :(得分:0)

尝试一下

df['New'] = df.loc[:,1:].sum(1)
df1 = df[['column1','New']]
print df1[df1.New != '']