indexが合っていないのが原因なので、まず行数に合うindexに直し、その上でA列の先頭値(row1の100)で欠損を埋めればOKです。
理由として、提示のコードはデータが5行あるのにindexが2個しかなく、そのままだとDataFrame作成時点でエラーになります。正しく作れた前提で、A列の先頭の値でA列のNaNを埋めるなら次のように書けます。
df1[‘A’] = df1[‘A’].fillna(df1.loc[‘row1’, ‘A’])
もし「A列だけでなく、A列とB列なども含めて、row1の値で各列のNaNを埋めたい」なら、こうです。
df1 = df1.fillna(df1.loc[‘row1’])
なお、indexは行数に合わせて例えば index=[‘row1’,‘row2’,‘row3’,‘row4’,‘row5’] のようにしてください。