1
This commit is contained in:
parent
a6655befdc
commit
b2ffc0a8b4
@ -117,6 +117,7 @@ async def event_model(
|
|||||||
'groups': [],
|
'groups': [],
|
||||||
'values': [],
|
'values': [],
|
||||||
'sum': [],
|
'sum': [],
|
||||||
|
'avg': [],
|
||||||
'event_name': item['event_name'],
|
'event_name': item['event_name'],
|
||||||
'format': item['format']
|
'format': item['format']
|
||||||
}
|
}
|
||||||
@ -135,10 +136,11 @@ async def event_model(
|
|||||||
q['groups'].append(groupby)
|
q['groups'].append(groupby)
|
||||||
q['values'].append(df['values'].to_list())
|
q['values'].append(df['values'].to_list())
|
||||||
q['sum'].append(int(df['values'].sum()))
|
q['sum'].append(int(df['values'].sum()))
|
||||||
|
q['avg'].append(round(df['values'].mean(), 2))
|
||||||
if groupby:
|
if groupby:
|
||||||
q['date_range'] = [f'{i}' for i in df.set_index(groupby).index]
|
q['date_range'] = [f'{i}' for i in df.set_index(groupby).index]
|
||||||
else:
|
else:
|
||||||
q['date_range'] =['合计']
|
q['date_range'] = ['合计']
|
||||||
|
|
||||||
res.append(q)
|
res.append(q)
|
||||||
continue
|
continue
|
||||||
@ -159,6 +161,7 @@ async def event_model(
|
|||||||
df_group.sort_values('date', inplace=True)
|
df_group.sort_values('date', inplace=True)
|
||||||
q['values'].append(df_group['values'].to_list())
|
q['values'].append(df_group['values'].to_list())
|
||||||
q['sum'].append(int(df_group['values'].sum()))
|
q['sum'].append(int(df_group['values'].sum()))
|
||||||
|
q['avg'].append(int(df_group['values'].mean()))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
# 无分组
|
# 无分组
|
||||||
@ -168,11 +171,12 @@ async def event_model(
|
|||||||
df = pd.concat([df, pd.DataFrame(concat_data, columns=df.columns)])
|
df = pd.concat([df, pd.DataFrame(concat_data, columns=df.columns)])
|
||||||
df.sort_values('date', inplace=True)
|
df.sort_values('date', inplace=True)
|
||||||
if len(df) >= 2:
|
if len(df) >= 2:
|
||||||
q['chain_ratio'] = division((df.iloc[-1, 1] - df.iloc[-2, 1]) * 100 , df.iloc[-2, 1], 2)
|
q['chain_ratio'] = division((df.iloc[-1, 1] - df.iloc[-2, 1]) * 100, df.iloc[-2, 1], 2)
|
||||||
if len(df) >= 8:
|
if len(df) >= 8:
|
||||||
q['wow'] = division((df.iloc[-1, 1] - df.iloc[-8, 1]) * 100 / df.iloc[-8, 1], 2) or 0
|
q['wow'] = division((df.iloc[-1, 1] - df.iloc[-8, 1]) * 100 / df.iloc[-8, 1], 2) or 0
|
||||||
q['values'].append(df['values'].to_list())
|
q['values'].append(df['values'].to_list())
|
||||||
q['sum'].append(int(df['values'].sum()))
|
q['sum'].append(int(df['values'].sum()))
|
||||||
|
q['avg'].append(round(df['values'].mean(), 2))
|
||||||
if item['time_particle'] in ('P1D', 'P1W'):
|
if item['time_particle'] in ('P1D', 'P1W'):
|
||||||
q['date_range'] = [d.strftime('%Y-%m-%d') for d in q['date_range']]
|
q['date_range'] = [d.strftime('%Y-%m-%d') for d in q['date_range']]
|
||||||
elif item['time_particle'] in ('P1M',):
|
elif item['time_particle'] in ('P1M',):
|
||||||
|
Loading…
Reference in New Issue
Block a user