Разбить фрейм данных на субфреймы и объединить с одной строкой, чтобы представить фрейм данных - PullRequest
0 голосов
/ 27 июня 2018

У меня есть исходный фрейм данных df, я пытаюсь разбить его на несколько фреймов данных, содержащих только последние 30 записей каждого определенного фрейма суб-данных. Теперь я хочу создать новый фрейм данных только с одним значением для каждого субкадра данных (среднее из всех значений из 30 точек).

Я создаю фреймы данных последних 30 точек для каждого уникального значения в df['PrsNr']

dfs = {k: df[df['PrsNr'] == k].iloc[-30:,:] for k in df['PrsNr'].unique()}

Как создать только одну строку со средним значением всех 30 точек и объединить ее, чтобы создать новый фрейм данных?

Это не похоже на работу

dfs_1 = {k: df[df['PrsNr'] == k].iloc[-30:,:].mean() for k in df['PrsNr'].unique()}
df_1=pd.merge(dfs_1,how="right")

1 Ответ

0 голосов
/ 27 июня 2018

Я думаю, что нужно groupby + tail с mean:

df1 = df.groupby('PrsNr').apply(lambda x: x.tail(30).mean())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...