熊猫对每一行进行排序并打印前5名

时间:2018-08-15 20:11:38

标签: python pandas

我试图分别对25列进行排序,然后从每列中打印出前5行。我以为我需要为此使用一个循环,但似乎无法弄清楚。

我目前有:

df.sort_values(by=['A'], ascending=False) df.head()

df.sort_values(by=['B'], ascending=False) df.head()

df.sort_values(by=['C'], ascending=False) df.head() ...

目标是在没有25行代码的情况下在许多列中重复此操作。

3 个答案:

答案 0 :(得分:0)

尝试以下操作:

import numpy as np
df = pd.DataFrame(np.sort(df.values, axis=0), index=df.index, columns=df.columns)
print(df.iloc[:5])

答案 1 :(得分:0)

如果您想单独打印每列,这应该可以工作

df.apply(lambda x: print(x.sort_values(ascending=False).head(5)), axis=0)

答案 2 :(得分:0)

回答了我自己的问题...最终成功了。也许有更简洁的方法可以做到这一点。

image: rocker/rstudio
test:
   script:
    - R -e 'install.packages(c("devtools", "testthat"))'
    - R CMD build . --no-build-vignettes --no-manual
    - PKG_FILE_NAME=$(ls -1t *.tar.gz | head -n 1)
    - R CMD check "${PKG_FILE_NAME}" --no-build-vignettes --no-manual
    - R -e 'devtools::test()'