Добавление вычисленных столбцов в фрейм данных в пандах

У меня есть набор данных о ценах OHLC, который я проанализировал из CSV в кадр данных Pandas и пересчитал до 15-минутных баров:


DatetimeIndex: 500047 entries, 1998-05-04 04:45:00 to 2012-08-07 00:15:00
Freq: 15T
Data columns:
Close    363152  non-null values
High     363152  non-null values
Low      363152  non-null values
Open     363152  non-null values
dtypes: float64(4)

Я хотел бы добавить различные вычисляемые столбцы, начиная с простых столбцов, таких как Диапазон периода (H-L), а затем логические значения, чтобы указать наличие ценовых моделей, которые я буду определять - например, образец свечи молотка, для которого определение образца:

def closed_in_top_half_of_range(h,l,c):
    return c > l + (h-1)/2

def lower_wick(o,l,c):
    return min(o,c)-l

def real_body(o,c):
    return abs(c-o)

def lower_wick_at_least_twice_real_body(o,l,c):
    return lower_wick(o,l,c) >= 2 * real_body(o,c)

def is_hammer(row):
    return lower_wick_at_least_twice_real_body(row["Open"],row["Low"],row["Close"]) \
    and closed_in_top_half_of_range(row["High"],row["Low"],row["Close"])

Основная проблема: как мне сопоставить функцию со столбцом, в частности, где я хотел бы сослаться на более чем один другой столбец или целую строку или что-то еще?

Эта почта имеет дело с добавлением двух вычисляемых столбцов из одного исходного столбца, который близок, но не совсем.

И немного более продвинутый: для ценовых паттернов, которые определяются со ссылкой на более чем один столбец (T), как я могу ссылаться на разные строки (например, T-1, T-2 и т. Д.) Из определения функции?

Ответы на вопрос(4)

Ваш ответ на вопрос