75 lines
2.2 KiB
Python
75 lines
2.2 KiB
Python
import h5py
|
|
import pandas as pd
|
|
import numpy as np
|
|
import plotly.graph_objects as go
|
|
|
|
f = h5py.File('product1.h5','r')
|
|
list(f.keys())
|
|
for key in f.keys():
|
|
print(f[key])
|
|
df = pd.read_hdf('product1.h5', key='df')
|
|
df = df._append(pd.read_hdf('product1.h5', key))
|
|
# print(f[key].shape)
|
|
# print(f[key].value)
|
|
# df = pd.read_hdf('product1.h5', key='df7')
|
|
print(df)
|
|
'''
|
|
# Open the HDF5 file
|
|
with h5py.File('product1.h5', 'r') as file:
|
|
dataframes=pd.DataFrame(columns=['Product ID', 'Zip Code', 'Shown Price', 'Minimum Quantity', 'Total Price', 'Unit Price','Sales Count','Sold Status'])
|
|
for key in file.keys():
|
|
# Read the dataframe from the HDF5 file
|
|
dataframe = pd.read_hdf('product1.h5', key)
|
|
|
|
# Append the dataframe to the list
|
|
dataframes._append(dataframe)
|
|
|
|
# Print the number of dataframes read from the HDF5 file
|
|
print(f"Read {len(dataframes)} dataframes from the HDF5 file")
|
|
|
|
item_std_devs = {}
|
|
for dataframe in dataframes:
|
|
item_name = dataframe['Product ID'].iloc[0]
|
|
std_dev = np.std(dataframe['Unit Price'])
|
|
item_std_devs[item_name] = std_dev
|
|
|
|
# Print the item names and their corresponding standard deviations
|
|
for item_name, std_dev in item_std_devs.items():
|
|
print(f"Item: {item_name}, Std Dev: {std_dev}")
|
|
|
|
# Prepare the data for the graph
|
|
x = list(item_std_devs.keys())
|
|
y = list(item_std_devs.values())
|
|
|
|
# Create a bar graph
|
|
fig = go.Figure(data=[go.Bar(x=x, y=y)])
|
|
|
|
# Customize the graph
|
|
fig.update_layout(
|
|
title="Standard Deviation of Pricing for Each Item",
|
|
xaxis_title="Item",
|
|
yaxis_title="Standard Deviation",
|
|
)
|
|
|
|
# Save the graph as an HTML file
|
|
report_file = 'test2.html'
|
|
fig.write_html(report_file)
|
|
|
|
|
|
|
|
'''
|
|
'''
|
|
# Calculate the standard deviation using pandas' function
|
|
std_dev_unit = df.groupby('Product ID')['Unit Price'].std()
|
|
std_dev_displayed = df.groupby('Zip Code')['Shown Price'].std()
|
|
|
|
# Generate the graph using Plotly
|
|
fig = go.Figure()
|
|
fig.add_trace(go.Bar(x=std_dev_unit.index, y=std_dev_unit.values))
|
|
fig.update_layout(title='Standard Deviation of the Unit Pricing by Item', xaxis_title='Product ID', yaxis_title='Standard Deviation')
|
|
|
|
report_file = 'test2.html'
|
|
fig.write_html(report_file)
|
|
'''
|
|
|