Transform a Pandas Dataframe Column and Index to Values

I have a dataframe in a “yes/no” format like

    7   22
1   NaN t
25  t   NaN

where “t” stands for yes and I need to transform it to a X-Y table since the column name is the X coordinate and the index is the Y coordinate:

  X  Y
1 22  1
2  7 25

a pseudo-code like:

if a cell = "t":
     newdf.X = df.column(t)
     newdf.Y = df.index(t)

Answer

Another option with stack:

pd.DataFrame.from_records(
    df.stack().index.swaplevel(),
    columns=['X', 'Y'])

Output:

    X   Y
0  22   1
1   7  25