Skip to content

Instantly share code, notes, and snippets.

@jerik
Created June 20, 2020 06:52
Show Gist options
  • Save jerik/8cda2d4695936d9a33ecc125cede6e65 to your computer and use it in GitHub Desktop.
Save jerik/8cda2d4695936d9a33ecc125cede6e65 to your computer and use it in GitHub Desktop.
# https://stackoverflow.com/q/62478289/1933185
ini_list = [('G 05', 'Over-Speed', '1.63'), ('Load 23A_UF', 'Over-Voltage', '11.37'), ('Load 21A_UF', '11.38'), ('Load 08A_UF', '11.38'), ('Load 07A_UF', '11.38'), ('Load 12A_UF', '11.38'), ('Load 24A_UF', '11.38'), ('Load 15A_UF', '11.38'), ('Load 16A_UF', '11.38'), ('Load 04A_UF', '11.38'), ('Load 03A_UF', '11.38'), ('Load 18A_UF', '11.38'), ('Load 25A_UF', '11.38'), ('Load 27A_UF', '11.39'), ('Load 26A_UF', '11.39'), ('G 05', 'Over-Speed', '1.63'), ('G 05', 'Over-Voltage', '1.63'), ('NSG_2', 'OverVoltage', '2.72'), ('G 01', 'Out of Step', '2.72')]
reasons = {'sum_of_reasons': 0}
for item in ini_list:
reason = lambda x: 'No Reason Given' if len(x) == 2 else x[1]
add_fault(reason(item), reasons)
{print('%s: %s this is %.2f' % (k, reasons[k], reasons[k]/reasons['sum_of_reasons'])) for k in reasons}
def add_fault(fault, reasons):
reasons['sum_of_reasons'] += 1
if fault in reasons:
reasons[fault] += 1
else:
reasons[fault] = 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment