熊猫:与nans合作

时间:2017-04-21 20:41:56

标签: python pandas dataframe

假设我使用pandas生成以下内容:

df = pd.DataFrame(np.ones(25).reshape((5,5)),index = ['A','B','C','D','E'])
df1 = pd.DataFrame(np.ones(25).reshape((5,5))*2,index = ['A','B','C','D','E'])
df[2] = np.nan
df1[3] = np.nan
df[4] = np.nan
df1[4] = np.nan
df2 = df+df1
print(df2)

     0    1   2   3   4
A  3.0  3.0 NaN NaN NaN
B  3.0  3.0 NaN NaN NaN
C  3.0  3.0 NaN NaN NaN
D  3.0  3.0 NaN NaN NaN
E  3.0  3.0 NaN NaN NaN

我需要做些什么来取而代之?

    0   1   2   3     4
A   3   3   2   1   NaN
B   3   3   2   1   NaN
C   3   3   2   1   NaN
D   3   3   2   1   NaN
E   3   3   2   1   NaN

1 个答案:

答案 0 :(得分:3)

使用DataFrame.add methodfill_value参数:

  

fill_value:无或浮点值,默认值无填充缺失(NaN)   具有此值的值。如果两个DataFrame位置都缺失,那么   结果将会丢失。

df.add(df1, fill_value=0)
Out: 
     0    1    2    3   4
A  3.0  3.0  2.0  1.0 NaN
B  3.0  3.0  2.0  1.0 NaN
C  3.0  3.0  2.0  1.0 NaN
D  3.0  3.0  2.0  1.0 NaN
E  3.0  3.0  2.0  1.0 NaN