Я хочу определить функцию, которая будет работать на части кадра данных, если установлена другая переменная, или на полном кадре данных, в противном случае. Например:
def mean_loc(df, col_name, idx=None):
if idx is not None:
return df.loc[idx, col_name].mean()
else:
return df[col_name].mean()
Это работает просто отлично, но мне было интересно, если это возможно, сделать что-то подобное:
def mean_loc_2(df, col_name, idx=None):
if idx is None:
idx = :
return df.loc[idx, col_name].mean()
Это, конечно, не работает, но мне было интересно, если существовал обход? Если я сделаю idx = df.index
, оценка df.loc[df.index, col_name]
будет намного длиннее, чем df.loc[:, col_name]
. Я пытался работать с slice
из встроенных функций, выполняя idx = slice(len(df))
, но безуспешно (это также дольше и не работает для индексов DateTime).
Кто-нибудь знает, как это сделать? вещь?