Untitled
unknown
plain_text
a year ago
3.6 kB
2
Indexable
import h5py import numpy as np import csv import os import pandas as pd import math from scipy.spatial import distance result = [] # def distance_calculator() def find(pattern, path): for root, dirs, files in os.walk(path): for name in files: if name.find('.hdf') != -1: result.append(os.path.join(root, name)) find('*.hdf', 'C:/Users/David/OneDrive/Desktop/ommoChallenge/softwareengineerinternshipprojectommotechnologiesin/') device_list = [] average_x = [] average_y = [] average_z = [] sensor = [] #Euclidean for file in result: hf_in = h5py.File(f'{file}', 'r') for item in hf_in: if "device" in item.lower(): device = hf_in[f'{item}'] attributes = device.keys() # print(attributes) if any("Position" in i for i in attributes): data_1 = hf_in[f'{item}/Position'] number_sensors = data_1.shape[1] device_list.append(device) # print(device_list) # print(dictionary) for j in range(number_sensors): sensor.append(j + 1) x_coordinates = data_1[:, j:, 0] y_coordinates = data_1[:, j:, 1] z_coordinates = data_1[:, j:, 2] coordinates = np.array([x_coordinates, y_coordinates, z_coordinates]) new_coordinates = np.transpose(coordinates) euclidean = distance.cdist(new_coordinates, 'euclidean') max_euclidean = max(euclidean) print(max_euclidean) for i in range(3): if i == 0: print("The average of X values are: ", sum(data_1[:, 0:, i]) / len(data_1[:, 0:, i])) avg = sum(data_1[:, j:, i]) / len(data_1[:, j:, i]) average_x.append(avg[0]) print(average_x) #For distance calculation if i == 1: print("The average of Y values are: ", sum(data_1[:, 0:, i]) / len(data_1[:, 0:, i])) avg = sum(data_1[:, j:, i]) / len(data_1[:, j:, i]) average_y.append(avg[0]) if i == 2: print("The average of Z values are: ", sum(data_1[:, 0:, i]) / len(data_1[:, 0:, i])) avg = sum(data_1[:, j:, i]) / len(data_1[:, j:, i]) print(avg) average_z.append(avg[0]) else: print("No Position Data found.") average_x.append(None) average_y.append(None) average_z.append(None) sensor.append(None) else: device_list.append(None) sensor.append(None) average_x.append(None) average_y.append(None) average_z.append(None) print("No device found") dict = {} dict["File"] = result dict["Device"] = device_list dict["Sensor #"] = sensor dict["Average X-Value"] = average_x dict["Average Y-Value"] = average_y dict["Average Z-Value"] = average_z print(dict) df = pd.DataFrame.from_dict(dict, orient='index') df_transposed = df.transpose() df_transposed.to_csv("test4.csv", mode='w+', index=False)
Editor is loading...
Leave a Comment