我有一个熊猫数据框,类似于:
col1 col2 col3 col5
NaN 1 2 8
2 NaN 4 8
4 NaN 4 8
我想做两件事:
1)合并列1和列2:
newcol1 col3 col5
1 2 8
2 4 8
4 4 8
我试过使用.concat,但这只是连接行。似乎我不能用标准的+
运算符来处理NaN值。
2)从新的第1列和第3列中减去第5列,得到:
newcol1 col3
-7 -6
-6 -4
-4 -4
试着这样做:
dataframe[['newcol1', 'col2']] - dataframe['col5']
以及
dataframe[['newcol1', 'col2']].subtract(dataframe['col5'])
但都不管用。
这里有一种方法。
您可以通过
sum(axis=1)
创建newcol1
然后在
axis=0
上使用df.sub()
然后您可以放下col1和col2:
要获取新列,可以使用
fillna
(或combine_first
):然后对于减法,使用
sub
并指定axis=0
,因为我们希望在匹配标签时考虑行索引(而不是默认的列索引):相关问题 更多 >
编程相关推荐