我有一个包含多个列的大型数据框,并且希望将除第一个列以外的所有列的所有值合并到一个新列('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
中删除它。
最有效的方法是什么?
答案 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 != '']