python平滑数据点_Python中数据平滑的合并方法

很多时候,我们使用一种称为数据平滑的方法来使数据正确和定性,以便进行统计分析。在吸烟过程中,我们定义了一个范围(也称为垃圾箱),该范围内的任何数据值都适合该垃圾箱。这称为合并方法。以下是合并的示例。然后,我们将看到如何使用Python程序实现合并方法。

装箱示例

让我们取一系列数字。找到最大值和最小值。根据分析需要多少个数据点来确定我们需要的箱数。创建这些组并将这些数字中的每一个分配给该组。上面的值被排除,属于下一个组。

示例Given numbers: 12, 32, 10, 17, 19, 28, 22, 26, 29,16

Number of groups : 4

Here

Max Value: 32

Min Value: 10

So the groups are –

(10-15), (15-21), (21-27), (27-32)

输出结果

将数字放入垃圾箱后,我们得到以下结果-12 -> (10-15)

32 -> (27-32)

10 -> (10-15)

17 -> (15-21)

19 -> (15-21)

28 -> (27-32)

22 -> (21-27)

26 -> (21-27)

29 -> (27-32)

16 -> (15-21)

装箱程序

对于此程序,我们定义两个功能。通过定义上限和下限来创建垃圾箱的工具。另一个功能是将输入值分配给每个仓。每个垃圾箱也获得一个索引。我们将看到如何将每个输入值分配给bin,并跟踪将多少个值分配给特定的bin。

示例from collections import Counter

def Binning_method(lower_bound, width, quantity):

binning = []

for low in range(lower_bound, lower_bound + quantity * width + 1, width):

binning.append((low, low + width))

return binning

def bin_assign(v, b):

for i in range(0, len(b)):

if b[i][0] <= v 

return i

the_bins = Binning_method(lower_bound=50,

width=4,

quantity=10)

print("The Bins: \n",the_bins)

weights_of_objects = [89.2, 57.2, 63.4, 84.6, 90.2, 60.3,88.7, 65.2, 79.8, 80.2, 93.5, 79.3,72.5, 59.2, 77.2, 67.0, 88.2, 73.5]

print("\nBinned Values:\n")

binned_weight = []

for val in weights_of_objects:

index = bin_assign(val, the_bins)

#print(val, index, binning[index])

print(val,"-with index-", index,":", the_bins[index])

binned_weight.append(index)

freq = Counter(binned_weight)

print("\nCount of values in each index: ")

print(freq)

输出结果

运行上面的代码给我们以下结果-The Bins:

[(50, 54), (54, 58), (58, 62), (62, 66), (66, 70), (70, 74), (74, 78), (78, 82), (82, 86), (86, 90), (90, 94)]

Binned Values:

89.2 -with index- 9 : (86, 90)

57.2 -with index- 1 : (54, 58)

63.4 -with index- 3 : (62, 66)

84.6 -with index- 8 : (82, 86)

90.2 -with index- 10 : (90, 94)

60.3 -with index- 2 : (58, 62)

88.7 -with index- 9 : (86, 90)

65.2 -with index- 3 : (62, 66)

79.8 -with index- 7 : (78, 82)

80.2 -with index- 7 : (78, 82)

93.5 -with index- 10 : (90, 94)

79.3 -with index- 7 : (78, 82)

72.5 -with index- 5 : (70, 74)

59.2 -with index- 2 : (58, 62)

77.2 -with index- 6 : (74, 78)

67.0 -with index- 4 : (66, 70)

88.2 -with index- 9 : (86, 90)

73.5 -with index- 5 : (70, 74)

Count of values in each index:

Counter({9: 3, 7: 3, 3: 2, 10: 2, 2: 2, 5: 2, 1: 1, 8: 1, 6: 1, 4: 1})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值