擅长:python、mysql、java
<pre class="lang-py prettyprint-override"><code>import pandas as pd
import numpy as np
df = pd.DataFrame([[60,20,10], [40,30,80], [70,50,50]], columns=['Column1','Column2','Column3'])
mapped = dict(map(reversed, enumerate(np.sort(df.values.flatten())[::-1],1)))
for each_column in df.columns:
df[each_column + '_rank'] = df[each_column].map(mapped)
print(df)
# Column1 Column2 Column3 Column1_rank Column2_rank Column3_rank
# 0 60 20 10 3 8 9
# 1 40 30 80 6 7 1
# 2 70 50 50 2 5 5
</code></pre>