【问题标题】:how to select columns from a pandas dataframe in python based on a condition如何根据条件从python中的pandas数据框中选择列
【发布时间】:2020-01-06 04:50:36
【问题描述】:

我有一个包含 4000 多列的数据框 (t_df_noNA)。我想选择值至少超过 70 的所有列。 我正在使用以下代码提取值高于截止 (70) 的列


filtertdf = t_df_noNA[t_df_noNA.columns[(t_df_noNA > 70).any()]]

代码有效,但选择了至少一个值高于 70 的列。 但现在我必须选择至少有 4 个值超过 70 的列。我该如何处理?

【问题讨论】:

    标签: python-3.x pandas filtering


    【解决方案1】:

    这是一种方法:

    cols = df.columns[(df > 4).sum().gt(4)].tolist()
    filter_df = df[cols]
    

    【讨论】:

    • 我根据我的数据框使用了你的代码,它给了我想要的结果。但我不明白 .sum() 函数。你能再解释一下吗? filtertdf = t_df_noNA[t_df_noNA.columns[( t_df_noNA > 70).sum().gt(3)].tolist()]
    • .sum() 基本上计算每列中真/假的数量,即每列中有多少值大于 4。
    猜你喜欢
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    相关资源
    最近更新 更多