def foo(x):
    r = []
for p in zip(list(x.index), list(x)):
    r.extend(p)
return r
pd.DataFrame({n: foo(df.T[row].nlargest(k)) for n, row in enumerate(df.T)}).T
верхние k столбцов со значениями в кадре данных pandas для каждой строки