我很好奇能否将两列A,B
仅与非NAN值相乘。
我有以下预期结果的数据框:
A B C
Date Symbol
1/1/2017 BTC Nan 2 Nan
ETH 3 Nan 6
XRP 2 Nan 4
1/2/2017 BTC Nan 3 Nan
ETH 1 Nan 3
XRP 2 Nan 6
我试图将列A
的非Nan值乘以列B
的非NaN值,并将结果分配给列C
。
我想遍历数据框。我尝试了几件事,但没有任何效果。
答案 0 :(得分:4)
使用ffill
#df=df.replace('Nan',np.nan)# Nan is not NaN , replace it
#df=df.apply(pd.to_numeric,1) # convert to numeric
df.C=df.A*(df.B.ffill())
df
Out[130]:
A B C
Date Symbol
1/1/2017 BTC NaN 2.0 NaN
ETH 3.0 NaN 6.0
XRP 2.0 NaN 4.0
1/2/2017 BTC NaN 3.0 NaN
ETH 1.0 NaN 3.0
XRP 2.0 NaN 6.0