2017-12-02 14 views

答えて

1

あなたは(よりパフォーマンスかもしれない)代わり

df.loc[df.column1.isnull(), 'column1'] = df.column2 

かのようなもの、例えば

df.column1 = np.where(df.column1.isnull(), df.column2, df.column1) 

を行うことができます:それは動作しないよう

In [29]: df = pd.DataFrame({'column1': [1.2, np.nan, 3.3, np.nan], 'column2': [5.1, 6.2, 7.1, 8.4]}) 

In [30]: df 
Out[30]: 
    column1 column2 
0  1.2  5.1 
1  NaN  6.2 
2  3.3  7.1 
3  NaN  8.4 

In [31]: df.loc[df.column1.isnull(), 'column1'] = df.column2 

In [32]: df 
Out[32]: 
    column1 column2 
0  1.2  5.1 
1  6.2  6.2 
2  3.3  7.1 
3  8.4  8.4 
+0

に思えます。列1の要素がNaNの場合、列1のi番目の要素を列2のi番目の要素に置き換えます。 –

+0

どのように動作するかを示す例を追加しました。 – fuglede