У меня есть функция в Excel, как это
=IF(B17="","",MIN(MAX(CEILING((B17-MIN(B$17:B$46))/((MAX(B$17:B$46)-MIN(B$17:B$46))/10),1),1),10))
вход:
Column1 output
512.96 10
307.41 3
413.76 7
323.65 4
376.84 5
368.79 5
367.77 5
345.65 4
Это может быть рассечено следующим образом
ceiling((min-max)/10, 1)
max(ceiling, 1)
min(max,10)
У меня есть код работает до потолка, как показано ниже
def point_10_conversion(new_df):
g = ((new_df.sub(new_df.min(axis=0))) / ((new_df.max(axis=0)) - (new_df.min(axis=0))))/10
f = np.around(g.astype(np.double), 3)
ceil = np.ceil(f)
print(ceil)
Может кто-нибудь помочь преобразовать эту функцию Excel в pandas или python код? Я использую датафрейм для расчетов.
Заранее спасибо !!