from pandas import DataFrame df = DataFrame([['b','c','a'],['a','c','b']]) ranked = df..rank(1) Currently: ranked = Empty DataFrame Desired ranked = a ranked DataFrame (by row) as in the case of DataFrame.rank(1) of dtype = float/int/etc