#python #dataframe #parallel-processing #dask
Вопрос:
Я полный новичок в области фреймов данных и действительно борюсь с некоторыми основными идеями. Я хочу взять среднее значение по нескольким столбцам (движения x, y и z, например, чтобы получить величину) для каждой строки. Некоторые фиктивные данные:
'time', 'x', 'y', 'z' 1, 1.3, 0.1, 2.2 2, 1.2, 0.5, 2.0 3, 1.5, 0.3, 2.0 4, 1.3, 0.0, 2.5 5, 1.1, 0.3, 2.3
Я думал, что нахожусь на чем-то, groupby()
но без костей.
grouped_df = df.groupby('x', 'y', 'z').mean() print(grouped_df.head())
печатает только исходный кадр данных, поэтому я даже не уверен, что делает эта функция.
Я в полной растерянности от того, как двигаться вперед, любые указатели приветствуются!
Ответ №1:
Кажется, что вам это действительно не нужно groupby
(имя метода можно интерпретировать по-разному, но то, что он делает, — это группирует строки на основе значения переданных столбцов). Вместо этого вы ищете .mean
(без groupby
):
cols_to_mean = ['x', 'y', 'z'] df['mean_of_cols'] = df[cols_to_mean].mean(axis=1) df.head()
Комментарии:
1. Пришлось использовать
.mean(axis=1)
для учета столбцов с отсутствующими значениями, но это было именно то, что я искал. Большое вам спасибо!