Я использую метод применения pandas как для серий, так и для dataframe, но я, очевидно, все еще что-то пропущу, потому что я нахожусь в тупике по простой функции, которую я пытаюсь выполнить.Метод применения Pandas
Это то, что я делаю:
def minmax(row):
return (row - row.min())/(row.max() - row.min())
row.apply(minmax)
но это возвращает все нулевой серии. Например, если
row = pd.Series([0, 1, 2])
затем
minmax(row)
возвращается [0,0, 0,5, 1,0], по желанию. Но, row.apply (minmax) возвращает [0,0,0].
Я считаю, что это происходит потому, что серия из Интс и целочисленное деление возвращает 0. Однако, я не понимаю,
- почему он работает с MinMax (строка) (она не должна действовать так то же?), и
- как правильно его применить в функции apply, чтобы возвращать соответствующие значения float (я пытался использовать его с использованием .astype, и это дает мне все NaNs ... которые я также не понимаю)
- , если применить это к кадру данных, так как df.apply (minmax) также работает по желанию. (изменить)
Я подозреваю, что у меня нет чего-то принципиального в том, как действует приложение ... или плотно. в любом случае, спасибо заранее.
какая версия панд вы используете? Я не могу воспроизвести это. –
ах ... ну, это дает мне некоторую поддержку. Кроме того, я просто добавил, что применение его к фреймворку данных просто отлично, как есть. pandas 0.18.0 ... –