1、错误数据
“错误的数据”不必是“空单元格”或“错误的格式”,它可以是错误的,就像正确地应该是“ 199”而不是“ 1.99”一样。
有时您可以通过查看数据集来发现错误的数据,因为您对数据应该是一个预期。
如果看一下我们的数据集,可以看到在第7行中,持续时间为450,而对于所有其他行,持续时间在30到60之间。
不一定是错误的,但是考虑到这是某人的锻炼数据集,我们得出的结论是,该人在450分钟内没有锻炼。
Duration Date Pulse Maxpulse Calories 0 60 '2020/12/01' 110 130 409.1 1 60 '2020/12/02' 117 145 479.0 2 60 '2020/12/03' 103 135 340.0 3 45 '2020/12/04' 109 175 282.4 4 45 '2020/12/05' 117 148 406.0 5 60 '2020/12/06' 102 127 300.0 6 60 '2020/12/07' 110 136 374.0 7 450 '2020/12/08' 104 134 253.3 8 30 '2020/12/09' 109 133 195.1 9 60 '2020/12/10' 98 124 269.0 10 60 '2020/12/11' 103 147 329.3 11 60 '2020/12/12' 100 120 250.7 12 60 '2020/12/12' 100 120 250.7 13 60 '2020/12/13' 106 128 345.3 14 60 '2020/12/14' 104 132 379.3 15 60 '2020/12/15' 98 123 275.0 16 60 '2020/12/16' 98 120 215.2 17 60 '2020/12/17' 100 120 300.0 18 45 '2020/12/18' 90 112 NaN 19 60 '2020/12/19' 103 123 323.0 20 45 '2020/12/20' 97 125 243.0 21 60 '2020/12/21' 108 131 364.2 22 45 NaN 100 119 282.0 23 60 '2020/12/23' 130 101 300.0 24 45 '2020/12/24' 105 132 246.0 25 60 '2020/12/25' 102 126 334.5 26 60 20201226 100 120 250.0 27 60 '2020/12/27' 92 118 241.0 28 60 '2020/12/28' 103 132 NaN 29 60 '2020/12/29' 100 132 280.0 30 60 '2020/12/30' 102 129 380.3 31 60 '2020/12/31' 92 115 243.0
我们如何解决错误的值,例如,第7行中的“ Duration”值?
2、替换值
解决错误值的一种方法是用其他替换它们。
在我们的示例中,很可能是拼写错误,其值应为“45”而不是“450”,我们只需在第7行中插入“45”即可:
例如:
Set "Duration" = 45 在第7行:
df.index(7)["Duration"] = 45
对于小型数据集,也许可以一一替换错误的数据,但对于大型数据集则不能。
要用较大的数据集替换错误的数据,可以创建一些规则,例如,为合法的值设置一些边界,并替换边界之外的任何值。
例如:
循环浏览“Duration” 列中的所有值。如果该值大于120,则将其设置为120:
for x in df.index: if df.loc[x, "Duration"] > 120: f.loc[x, "Duration"] = 120
3、删除行
处理错误数据的另一种方法是删除包含错误数据的行。
这样,您就不必找出替换它们的方法,而且很有可能不需要它们来进行分析。
例如:
删除"Duration" 大于120的行:
for x in df.index: if df.loc[x, "Duration"] > 120: df.drop(x, inplace = True)