2014-12-14 2 views
0

Let ss be a pandas series of floats.Поиск минимальных и максимальных и других функций, серия pandas

Позвольте x быть поплавком.

x+1 и ss+1 работа как ожидалось.

x/5 и ss/5 работа в соответствии с этим.

Однако min(x,5) работы, но для того, чтобы получить такое же поведение с серией я должен сделать ss.apply(lambda y: min(y,6)) и это боль по следующей причине:

Что делать, если я хочу сделать серию расчетов по серии , а затем, когда появятся новые элементы, я хочу сделать «на лету» вычисления?

Другими словами, я хотел бы функцию f так, что я могу применить f к серии (или несколько рядов), а также применение f к поплавку (или нескольких поплавков), а в идеале применять f к комбинации поплавков и серий.

Я забочусь об этом, потому что может быть много таких преобразований, и я бы предпочел не поддерживать две разные версии каждого преобразования: одну для партий и одну для мгновенного одноразового использования.

+0

Попробуйте функцию numpy min (вам может понадобиться подавать аргументы как список. –

ответ

1

Если у вас есть скаляр, вы можете преобразовать его в серии и работать на серии

import pandas as pd 
s = pd.Series(range(10, 20)) 
print s.min() 
f = 6 
print s.append(pd.Series([f])).min() 

или преобразовать серии скалярного значения и использовать нормальную min() функцию

print min(s.min(), f) 
+0

Похоже, что это может работать как одноразовый, хотя и не очень элегантный. Что вы думаете о предложении @Paul H выше. – user3659451