title: Fill Na in multiple columns with values from another column within the pandas data frame
body: <p>Pandas version <code>0.23.4</code>, python version <code>3.7.1</code><br>
  I have a dataframe df as below</p>
  
  <pre><code>df = pd.DataFrame([[0.1, 2, 55, 0,np.nan],
                     [0.2, 4, np.nan, 1,99],
                     [0.3, np.nan, 22, 5,88],
                     [0.4, np.nan, np.nan, 4,77]],
                     columns=list('ABCDE'))
       A    B     C  D     E
  0  0.1  2.0  55.0  0   NaN
  1  0.2  4.0   NaN  1  99.0
  2  0.3  NaN  22.0  5  88.0
  3  0.4  NaN   NaN  4  77.0
  </code></pre>
  
  <p>I want to replace Na values in columns <code>B</code> and <code>C</code> with value in column `A'.  </p>
  
  <p>Expected output is  </p>
  
  <pre><code>     A   B      C    D      E 
  0   0.1  2.0    55.0   0    NaN 
  1   0.2  4.0    0.2    1    99.0 
  2   0.3  0.3    22.0   5    88.0 
  3   0.4  0.4    0.4    4    77.0
  </code></pre>
  
  <p>I have tried fillna using <code>fill</code> along <code>axis 0</code>, but its not giving expected output,  (its filling from the above column)</p>
  
  <pre><code>df.fillna(method='ffill',axis=0, inplace = True)
      A    B     C   D     E
  0  0.1  2.0  55.0  0   NaN
  1  0.2  4.0  55.0  1  99.0
  2  0.3  4.0  22.0  5  88.0
  3  0.4  4.0  22.0  4  77.0  
  
  df.fillna(method='ffill',axis=1, inplace = True)
  </code></pre>
  
  <blockquote>
    <p>output: NotImplementedError:</p>
  </blockquote>
  
  <p>Also tried   </p>
  
  <pre><code>df[['B','C']] = df[['B','C']].fillna(df.A)
  output:
      A    B     C   D     E
  0  0.1  2.0  55.0  0   NaN
  1  0.2  4.0   NaN  1  99.0
  2  0.3  NaN  22.0  5  88.0
  3  0.4  NaN   NaN  4  77.0
  </code></pre>
  
  <p>Tried to fill all Na's in <code>B</code> and <code>C</code>with <code>0</code>, using <code>inplace</code>, but this also is not giving expected output </p>
  
  <pre><code>df[['B','C']].fillna(0,inplace=True)
  output:
       A    B     C  D     E
  0  0.1  2.0  55.0  0   NaN
  1  0.2  4.0   NaN  1  99.0
  2  0.3  NaN  22.0  5  88.0
  3  0.4  NaN   NaN  4  77.0
  </code></pre>
  
  <p>filling <code>0</code> to slice of data frame will work if assigned back to the same subset</p>
  
  <pre><code>df[['B','C']] = df[['B','C']].fillna(0)
  output:
       A    B     C  D     E
  0  0.1  2.0  55.0  0   NaN
  1  0.2  4.0   0.0  1  99.0
  2  0.3  0.0  22.0  5  88.0
  3  0.4  0.0   0.0  4  77.0
  </code></pre>
  
  <p><em>1) How to fill na values in columns <code>B</code>and<code>C</code> using values from column <code>A</code> from the given data frame ?<br>
  2) Also why is inlace not working when using fillna on a subset of the data frame.<br>
  3) How to do <code>ffill</code> along the rows(is it implemented)?</em></p>