My dataset is like this :
[{'Date': '22-Aug-2019', 'Open': 10905.3, 'High': 10908.25, 'Low': 10718.3, 'Close': 10741.35, 'Shares Traded': 668193449, 'Turnover (Rs. Cr)': 18764.38},
{'Date': '23-Aug-2019', 'Open': 10699.6, 'High': 10862.55, 'Low': 10637.15, 'Close': 10829.35, 'Shares Traded': 667079625, 'Turnover (Rs. Cr)': 20983.75}, {'Date': '26-Aug-2019', 'Open': 11000.3, 'High': 11070.3, 'Low': 10756.55, 'Close': 11057.85, 'Shares Traded': 684141923, 'Turnover (Rs. Cr)': 22375.99}]
I want daywise average,Min,Max from this dataset as my output which i did.
for share in dataset:
day_name = datetime.datetime.strptime(share['Date'], "%d-%b-%Y").strftime('%A')
if day_name not in day_wise.keys():
day_wise[day_name] = {'avg':0, 'min':9999999999, 'max':0}
if share['Turnover (Rs. Cr)'] > day_wise[day_name]['max']:
day_wise[day_name]['max'] = share['Turnover (Rs. Cr)']
if share['Turnover (Rs. Cr)'] < day_wise[day_name]['min']:
day_wise[day_name]['min'] = share['Turnover (Rs. Cr)']
day_wise[day_name]['avg'] += share['Turnover (Rs. Cr)']
else:
if share['Turnover (Rs. Cr)'] > day_wise[day_name]['max']:
day_wise[day_name]['max'] = share['Turnover (Rs. Cr)']
if share['Turnover (Rs. Cr)'] < day_wise[day_name]['min']:
day_wise[day_name]['min'] = share['Turnover (Rs. Cr)']
day_wise[day_name]['avg'] += share['Turnover (Rs. Cr)']
return Response(day_wise)
But i want to optimize it , Like less number of lines of code and more fast performance.
for share in dataset:is looping through your input dataset ?