-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #27 from denBruneBarone/heatmap
Heatmap
- Loading branch information
Showing
4 changed files
with
75 additions
and
38 deletions.
There are no files selected for viewing
34 changes: 12 additions & 22 deletions
34
data_processing/energy_consumption/datapoints_summation.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,12 @@ | ||
def calculate_energy_by_summing(data): | ||
|
||
# Calculate power consumption for each row | ||
data['power'] = data['battery_voltage'] * data['battery_current'] | ||
|
||
# Group data by flight and sum power consumption for each flight | ||
flight_groups = data.groupby('flight') | ||
flight_energy = {} | ||
for flight, flight_data in flight_groups: | ||
total_energy = 0 | ||
total_energy_wh = 0 | ||
prev_time = flight_data['time'].iloc[0] | ||
for index, row in flight_data.iterrows(): | ||
time_interval = row['time'] - prev_time | ||
total_energy += row['power'] * time_interval | ||
prev_time = row['time'] | ||
total_energy_wh = total_energy / 3600 | ||
flight_energy[flight] = total_energy_wh | ||
return flight_energy | ||
|
||
|
||
|
||
import numpy as np | ||
|
||
|
||
def add_power_to_df(df): | ||
df['time_interval'] = df['time'].diff().fillna(0) | ||
# Unit of power | ||
df['power_w'] = df['battery_voltage'] * df['battery_current'] | ||
# Unit of energy | ||
df['energy_j'] = df['battery_voltage'] * df['battery_current'] * df['time_interval'] | ||
df['cumulative_power'] = np.cumsum(df['energy_j']) | ||
df.drop(columns=['time_interval'], inplace=True) | ||
return df |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
import seaborn as sns | ||
import matplotlib.pyplot as plt | ||
import pandas as pd | ||
import os | ||
from machine_learning.prepare_for_training import format_data | ||
from machine_learning.pre_processing import * | ||
|
||
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "../")) | ||
file_path = os.path.join(PROJECT_ROOT, "data/datasets/rodrigues/flights_processed.csv") | ||
|
||
import seaborn as sns | ||
import matplotlib.pyplot as plt | ||
import pandas as pd | ||
import os | ||
from machine_learning.prepare_for_training import format_data | ||
from machine_learning.pre_processing import * | ||
|
||
|
||
def generate_correlation_heatmaps(file_path, cutoff=0.09): | ||
# Extract csv data | ||
df = load_data(file_path) | ||
|
||
# Remove unwanted columns | ||
list_df = format_data(df) | ||
|
||
# Compute the correlation matrix | ||
corr_matrix = list_df.corr() | ||
|
||
# Generate the full heatmap | ||
plt.figure(figsize=(20, 16)) | ||
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm', fmt=".2f") | ||
plt.title('Full Correlation Heatmap') | ||
plt.show() | ||
|
||
# Generate the heatmap for strong relationships | ||
plt.figure(figsize=(20, 16)) | ||
strong_corr_matrix = corr_matrix.copy() | ||
strong_corr_matrix[abs(corr_matrix) <= cutoff] = None | ||
sns.heatmap(strong_corr_matrix, annot=True, cmap='coolwarm', fmt=".2f") | ||
plt.title('Correlation Heatmap for Strong Relationships (cutoff={})'.format(cutoff)) | ||
plt.show() | ||
|
||
|
||
generate_correlation_heatmaps(file_path) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters