Untitled
unknown
plain_text
2 years ago
3.6 kB
3
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