【问题标题】:Remove rows on quartile deviation low or high删除四分位偏差低或高的行
【发布时间】:2021-08-30 08:34:19
【问题描述】:

写了一个代码

df=data.copy()
for column in data.columns:
    Q1= np.quantile(data[column],0.25)
    Q3= np.quantile(data[column],0.75)
    IQR = Q3-Q1
    Low = Q1 - 3*(IQR)
    High = Q3 + 3*(IQR)
    df = df[(df[column] > Low ) | (df[column] < High)][column]

如何编写代码以使其仅接受范围内的内容。 代码显示错误。

----> 9     df = df[(df[column] > Low ) | (df[column] < High)][column]

【问题讨论】:

  • 它显示了哪个错误?除了错误之外,您的逻辑也是错误的。每行都大于Low 或小于High
  • 错误是什么?
  • 请澄清您的具体问题或提供更多详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: python pandas dataframe quartile deviation


【解决方案1】:

是的,我的逻辑是错误的。这个有效。

df=data.copy()
for column in data.columns:
    Q1= np.quantile(data[column],0.25)
    Q3= np.quantile(data[column],0.75)
    IQR = Q3-Q1
    Low = Q1 - 3*(IQR)
    High = Q3 + 3*(IQR)
    df = df[df[column].between(Low, High)]

【讨论】:

    猜你喜欢
    • 2020-05-05
    • 2013-04-16
    • 2011-10-17
    • 1970-01-01
    • 2022-07-14
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多