数据处理,去掉数据前后20%,然后取平均

老子叫甜甜 提交于 2020-01-12 01:47:49


# 没有测(0,0)
# 读取文件
# 排序
# 去掉首尾20%
# 取平均
# 保存数据
# 绘制图像
import numpy as np
import json
 
filter_data = 'filter_data.json'
 
 
def read_uwb_data(name):
    x = []
    f = open('UWBdata/%s.txt' % name)
    for i in f.readlines():
        a = i.strip().split(",")
        x.append([float(a[-3]), float(a[-2]), float(a[-1])])
    return x
 
 
def takeFirst(elem):
    return elem[0]
 
 
def sort_data(x)://按照第一个元素排序
    x.sort(key=takeFirst)
 
 
def delete_start_end(x):
    delete_length = len(x) // 5
    return x[delete_length:-delete_length]
 
 
def get_average(x):
    a = np.mean(x, axis=0)
    return a
 
 
desk_location = [{}]
for i in range(26 - 6):
    x = read_uwb_data(i + 7)
    sort_data(x)
    x = delete_start_end(x)
    a = get_average(x)
    desk_location[0][i + 7] = [a[0], a[1]]
 
print(desk_location)
# desk_location = json.dumps(desk_location)
json.dump(desk_location, open(filter_data, "w"))
print(desk_location)
 
————————————————
版权声明:本文为CSDN博主「0点51 胜」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dss875914213/article/details/103151730

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!