python - 在 Python 中打印列表时出现脏打印

标签 python list printing

我是一个Python新手,我注意到像print()这样的基本函数有一些奇怪的东西

让代码解释一下。我想将观察的所有异常值保存在列表中。所以我写了以下代码片段:

#import numpy as np

def compute_outliers(obs):
    outliers=[]

    q1 = np.percentile(obs, 25)
    q3 = np.percentile(obs, 75)
    iqr = q3 - q1
    print('q1: ', q1)
    print('q3: ', q3)
    lower_limit = q1 - 1.5 * iqr
    upper_limit = q3 + 1.5 * iqr

    for i in obs:
        if i < lower_limit or i > upper_limit:
            outliers.append(i)
    return outliers

outliers = compute_outliers(data)

其中数据是 DataFrame 对象的一般特征(在“列”的意义上),来自 pandas 库。

现在,如果我录音

for i in outliers:
    print(i)

输出正常:

20.0
0.0
17.6
2.7
18.9
0.0
18.0

如果我输入:

print(outliers)

这是输出:

[20.0, 0.0, 17.600000000000001, 2.7000000000000002, 18.899999999999999, 0.0, 18.0]

您可以看到值(第三个、第四个、第五个)是“脏”。我应该简单地使用第一个代码进行打印,但我很好奇这一切是如何工作的,所以我想知道为什么会发生这种情况。

编辑

我认为完成这个问题对于了解如何“修复”这个问题很有用,因此打印正确值的列表。你能帮忙吗?

最佳答案

这种效果是以下事实综合作用的结果:

关于python - 在 Python 中打印列表时出现脏打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42880426/

相关文章:

python - 传递一系列 pandas 数据会引发 KeyError

python - 列表列表及其索引中的最大值

打印 Canvas

jquery - 动态分页符 - Jquery

java - 打印Jpanel数据时出现问题

Python加速语料库文档相似度计算

python - 我可以在 ASE 上移植现有的 Python 应用程序吗?

python - 在 python 中运行嵌入式 mongodb

list - 在 Sharepoint 中,如何使用 REST API 获取在浏览器中打开文档的列表高级设置

python - 在 python 中添加追加更新和扩展