-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path10_get_aggregate_parameters.py
40 lines (28 loc) · 1.18 KB
/
10_get_aggregate_parameters.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import pandas as pd
import numpy as np
import sys
import time
from flares.stats import calibratable_diff_stats
if __name__ == "__main__":
# read flare table
df = pd.read_csv(sys.argv[1])
# use only relevant columns to save time
df = df[["tstart","starid","midlat_deg","ed_rec"]]
# sort tstart in ascending order for waiting time distribution calculations
dfsort = df.sort_values(by="tstart", ascending=True)
# grouping by ID and mid-latitude separates individual light curves
group = dfsort.groupby(["starid","midlat_deg"])
#size of ensemble
size = 400
# calculate aggregate statistics with different lags, i.e. step sizes
print("Do calibratable stats step size 1.")
res, bins = calibratable_diff_stats(dfsort, group, 'tstart', 1, size=size)
# calculate mid-/min-/max-/width of latitudes of ensembles of lcs
print(res.head(), res.index)
res["minlat"] = [l.left for l in res.index.values]
res["maxlat"] = [l.right for l in res.index.values]
res["latwidth"] = res.maxlat - res.minlat
res["midlat2"] = (res.maxlat + res.minlat)/2.
res["size"] = size
print("Save to file")
res.to_csv(sys.argv[2])