27 lines
625 B
Python
27 lines
625 B
Python
#!/usr/bin/env python
|
|
# coding: utf-8
|
|
import pandas as pd
|
|
|
|
target_lp = 90
|
|
data = pd.read_csv('./noten.csv')
|
|
|
|
#data.head(5)
|
|
#data.info()
|
|
|
|
data.sort_values(by='note', inplace=True)
|
|
|
|
acc_note = 0.0
|
|
acc_lp = 0
|
|
# the use of iterrows and all iteration over dataframes is discouraged for performance reasons
|
|
for index, row in data.iterrows():
|
|
if acc_lp + row['lp'] < target_lp:
|
|
acc_lp = acc_lp + row['lp']
|
|
acc_note = acc_note + row['lp'] * row['note']
|
|
else:
|
|
weight = target_lp - acc_lp
|
|
acc_note = acc_note + weight * row['note']
|
|
break
|
|
acc_note = acc_note / target_lp
|
|
print(acc_note)
|
|
|