Мой Dataframe в Python имеет следующие числовые данные
mydf =
mydate mytime myopen High Low myclose
---------- ----------------------- ---------------------- ---------------------- ---------------------- -----------
2019-04-15 1900-01-01 15:25:00.000 1675.75 1679.75 1673.35 1673.35
2019-04-15 1900-01-01 15:25:00.000 142.75 142.8 142.25 142.45
2019-04-15 1900-01-01 15:25:00.000 387 387.5 385.7 387.05
2019-04-15 1900-01-01 15:25:00.000 54.7 54.7 54.45 54.45
2019-04-15 1900-01-01 15:25:00.000 1026.1 1028 1026.1 1027.15
2019-04-15 1900-01-01 15:25:00.000 53.65 53.75 53.5 53.7
Мне нужно создать вычисляемый столбец с именем newcol, вычисление которого будет основано на условии.Условие того, какие из столбцов имеют более высокие значения - миопен / микрозоза.для более высоких значений я считаю, что функция np.fmax подходит для моего случая.
Итак, Для каждой записи в приведенном выше df ...
If myopen >= myclose:
mydf['newcol']= myopen X 6 + 4 * High + (High - myclose)
else:
mydf['newcol']= myclose X 3 + 4 * myclose + (myclose - myopen)
Я уверен, что вышесказанного можно достичь, пройдя через mydf. Однако я также считаю, что для достижения этой цели должен быть более эффективный метод.
Буду признателен за помощь в вышесказанном, поскольку я все еще новичок.
Спасибо за объявление.