shayebuhui^_^ 2023-05-30 05:16 采纳率: 100%
浏览 174
已结题

python编码最后print输出结果是空的,请解答!

我运行了以下的编码,但是不论在data输入什么数据,最后print输出的都是空白。我是想用格拉布斯检验法检测数据异常值。我不会自己写代码,今天自己摸索着装上了Python和Pycharm以及一系列的第三方数据库,一开始使用from import这个命令完全不能运行,一直显示unresloved reference,然后我根据教材改了PATH还有虚拟环境啥的,也不知道弄对了没有,反正可以用了。但是后续就是只有在第一次输入数据串的时候运行出了结果,后面不论我怎么换数据,结果都是空的。

import numpy as np
from scipy.stats import t


def grubbs_test(data, alpha):
    n = len(data)
    mean = np.mean(data)
    std_dev = np.std(data)
    t_critical = t.ppf(1 - alpha / (2 * n), n - 2)

    # Find the maximum absolute deviation from the mean
    max_deviation = np.max(np.abs(data - mean))

    # Calculate the test statistic
    G = max_deviation / std_dev

    # Calculate the critical value
    critical_value = (n - 1) / np.sqrt(n) * np.sqrt(t_critical ** 2 / (n - 2 + t_critical ** 2))

    # Determine if the maximum deviation is an outlier
    is_outlier = G > critical_value

    # Return the data without outliers
    return data[~is_outlier]


# Example usage
data = np.array([73.15, 60.80, 85.39, 103.81, 110.92, 100.92, 109.63, 108.21])
alpha = 0.05

data_without_outliers = grubbs_test(data, alpha)
print("Data without outliers:", data_without_outliers)

运行结果如下:

D:\PYCharm\Scripts\python.exe "C:\Users\Administrator\PycharmProjects\pythonProject\Grubbs Test final.py" 
Data without outliers: []

Process finished with exit code 0

  • 写回答

11条回答 默认 最新

  • 大师兄6668 新星创作者: python技术领域 2023-06-01 15:40
    关注

    如果你的代码可以正常运行,没有报错,但是仅仅是输出结果是
    Data without outliers: []
    的话,
    那首先就已经排除了环境的问题。因为如果环境有问题,肯定会有报错信息,不会这么单纯的只有打印信息了,那么真相只有一个!!————数据问题!
    也就 你说的“后面不论我怎么换数据,结果都是空的” ,你换的数据,正好根据算法算出来都是异常的,所以输出的就是空的。
    因为我刚刚也试着随意换了换数据,我发现,很容易就空了,上面的那些朋友的回答里面有给出了具体解释这个算法的,我就不赘述了。
    下面我给出一组可以让它输出结果为空的数据:

    data = np.array([7.15, 6.80, 8.39, 10.81, 10.92, 11.92, 109.63, 18.21])
    
    

    换了后,输出立马为空。
    楼主要是不确定自己是否环境有问题的话,你可以把数据换回来,换成你最开始的

    data = np.array([73.15, 60.80, 85.39, 103.81, 110.92, 100.92, 109.63, 108.21])
    
    

    这个再运行,结果肯定就不是空的了!请尝试!! 如果OK,请采纳!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏
查看更多回答(10条)

报告相同问题?

问题事件

  • 系统已结题 6月9日
  • 已采纳回答 6月1日
  • 创建了问题 5月30日