【问题标题】:Filter values above a threshold过滤高于阈值的值
【发布时间】:2021-09-24 18:52:28
【问题描述】:

我是 Python 的新手。当我尝试过滤高于阈值的值时,我有点困惑。

例如:

A  B  C  D  E  F   G
1  x  x  x  x  x  1000
3  x  x  x  x  x  100000
4  x  x  x  x  x  10
1  x  x  x  x  x  100
4  x  x  x  x  x  1000
5  x  x  x  x  x  1000000

假设我想过滤列 G,对于 1000 及以上的所有值,我如何从当前代码继续?我已经从其他列中过滤了特定的文本和日期,但我不确定如何过滤高于阈值的值。

import pandas as pd 
import numpy as np 
import openpyxl 
from numpy.random import choice

df = pd.read_excel('filepath', sheet_name = 'Sheet1')

df_sample = df.loc[df['Bill Description'].str.contains("Invoice") & df_my['Bill Date'].ge('15/12/2019')]

#to filter values 1000 and above

如果你能告诉我代码,我已经尝试了一些,但都没有成功。

谢谢!

【问题讨论】:

    标签: python pandas numpy openpyxl


    【解决方案1】:

    试试这个:

    df[df['G'] >= 1000]
    

    【讨论】:

      【解决方案2】:

      或者只是:

      df_sample = df.loc[df['Bill Description'].str.contains("Invoice") & df_my['Bill Date'].ge('15/12/2019') & df['G'].ge(1000)]
      

      【讨论】:

        【解决方案3】:

        如果您想再次减少数据框,请继续您的过滤器

        df_sample = df.loc[df['Bill Description'].str.contains("Invoice")
                           & df_my['Bill Date'].ge('15/12/2019')
                           & df[df['G'].ge(1000)]]
        

        【讨论】:

          猜你喜欢
          • 2019-08-01
          • 1970-01-01
          • 2021-01-04
          • 1970-01-01
          • 1970-01-01
          • 2011-12-21
          • 1970-01-01
          • 2014-08-30
          • 2012-05-10
          相关资源
          最近更新 更多