You can workaround it as follows:
In [16]: Xt = Xt.copy()
In [17]: Xt.iloc[0,0]=6
In [18]: Xt
Out[18]:
A B
0 6 2
2 7 3
1 5 5
In [19]: X
Out[19]:
A B
0 2 2 # <--- NOTE: the value in the original DF has NOT been changed
1 5 5
2 7 3
3 8 51
4 9 5
Alternatively you can use numpy.split(...) method