np.random.seed([3, 1415])
df = pd.DataFrame(np.random.choice([(1, 2), (3, 4), np.nan], (10, 10)))
idx_arrays = np.where(df.isnull())
idx_tups = zip(idx_arrays[0], idx_arrays[1])
for tup in idx_tups:
    df.loc[tup] = 0, 0
как заполнить пропущенные значения кортежем