pandasのデータフレームで下記のようなデータを

import numpy as np
import pandas as pd
np.random.seed(1)
df = pd.DataFrame(np.random.rand(2, 3))
print(df)

          0         1         2
0  0.417022  0.720324  0.000114
1  0.302333  0.146756  0.092339

下記のように出力したいのですが

[0, 0] 0.417022
[0, 1] 0.302333
[1, 0] 0.720324
[1, 1] 0.146756
[2, 0] 0.000114
[2, 1] 0.092339

良い方法ありますでしょうか?

一応下記の様にすると出力可能となりますが余分なスペースが入ります
より良い方法があれば教えてください

df.columns = ["[{0}".format(x) for x in range(df.shape[1])]
df.index = [", {0}]".format(x) for x in range(df.shape[0])]
df.unstack().reset_index().to_csv('test.csv', sep=' ', index=False, header=False, quotechar=' ')

どうぞよろしくお願いいたします