【问题标题】:How to find the top any % of a dataframe?如何找到数据框的顶部任何百分比?
【发布时间】:2021-11-29 16:36:46
【问题描述】:

我想在我的数据框中找到前 1% 的值并将所有值附加到一个列表中。然后我可以检查里面的第一个值并将其用作数据框中的过滤器,知道该怎么做吗?或者,如果您有更简单的方法!

你可以在这里找到我使用的数据框:

https://raw.githubusercontent.com/srptwice/forstack/main/resultat_projet.csv

我尝试使用热图(来自 Seaborn)观看我的数据框并使用这样的过滤器:

df4 = df2[df2 > 50700]

【问题讨论】:

    标签: python list dataframe filter percentile


    【解决方案1】:

    您可以使用df.<column name>.quantile(<percentile>) 获取数据帧的顶部百分比。例如,下面的代码将为您提供 df2 的行,其中 bfly 列位于前 10%(第 90 个百分位)

    import pandas as pd
    
    df = pd.read_csv('./resultstat_projet.csv')
    df.columns = df.columns.str.replace(' ', '') # remove blank spaces in columns
    df2 = df[df.bfly > df.bfly.quantile(0.9)]
    print(df2)
    

    【讨论】:

    • 它工作得很好,我搜索了几个小时但使用“百分比”关键字而不是分位数,非常感谢
    猜你喜欢
    • 2021-08-25
    • 2022-11-05
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多