Skip to content

Commit bba185d

Browse files
committed
Added support for saving to parquet.
1 parent 9a93105 commit bba185d

File tree

1 file changed

+57
-2
lines changed

1 file changed

+57
-2
lines changed

mera/mera_pymer4.py

Lines changed: 57 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,58 @@ def load(cls, data_dir: Path):
103103
),
104104
)
105105

106+
def save_to_parquet(self, output_dir: Path):
107+
"""
108+
Saves the MeraResults to the given directory in parquet format
109+
110+
Parameters
111+
----------
112+
output_dir: Path
113+
Directory to save the MeraResults files
114+
"""
115+
self.event_res_df.to_parquet(output_dir / "event_res_df.parquet")
116+
self.event_cond_std_df.to_parquet(output_dir / "event_cond_std_df.parquet")
117+
self.rem_res_df.to_parquet(output_dir / "rem_res_df.parquet")
118+
self.bias_std_df.to_parquet(output_dir / "bias_std_df.parquet")
119+
self.fit_df.to_parquet(output_dir / "fit_df.parquet")
120+
121+
if self.site_res_df is not None:
122+
self.site_res_df.to_parquet(output_dir / "site_res_df.parquet")
123+
if self.site_cond_std_df is not None:
124+
self.site_cond_std_df.to_parquet(output_dir / "site_cond_std_df.parquet")
125+
126+
def load_from_parquet(cls, data_dir: Path):
127+
"""
128+
Loads the MeraResults from the given directory in parquet format
129+
130+
Parameters
131+
----------
132+
data_dir: Path
133+
Directory containing the MeraResults files
134+
135+
Returns
136+
-------
137+
MeraResults:
138+
Loaded MeraResults
139+
"""
140+
return cls(
141+
pd.read_parquet(data_dir / "event_res_df.parquet"),
142+
pd.read_parquet(data_dir / "event_cond_std_df.parquet"),
143+
pd.read_parquet(data_dir / "rem_res_df.parquet"),
144+
pd.read_parquet(data_dir / "bias_std_df.parquet"),
145+
pd.read_parquet(data_dir / "fit_df.parquet"),
146+
(
147+
pd.read_parquet(data_dir / "site_res_df.parquet")
148+
if (data_dir / "site_res_df.parquet").exists()
149+
else None
150+
),
151+
(
152+
pd.read_parquet(data_dir / "site_cond_std_df.parquet")
153+
if (data_dir / "site_cond_std_df.parquet").exists()
154+
else None
155+
),
156+
)
157+
106158

107159
def run_mera(
108160
residual_df: pd.DataFrame,
@@ -190,7 +242,9 @@ def run_mera(
190242
)
191243
results.append(cur_result)
192244
else:
193-
with mp.Pool(processes=n_procs, maxtasksperchild=1, initializer=_init_worker) as pool:
245+
with mp.Pool(
246+
processes=n_procs, maxtasksperchild=1, initializer=_init_worker
247+
) as pool:
194248
results = pool.starmap(
195249
_run_im_mera,
196250
[
@@ -220,6 +274,7 @@ def run_mera(
220274
)
221275
event_cond_std_df.columns = ims
222276
rem_res_df = pd.concat([cur_result["rem_res_df"] for cur_result in results], axis=1)
277+
rem_res_df[event_cname] = residual_df[event_cname]
223278
bias_std_df = pd.DataFrame(
224279
[cur_result["bias_std_series"] for cur_result in results], index=ims
225280
)
@@ -340,7 +395,7 @@ def _run_im_mera(
340395
name=im,
341396
)
342397
rem_res_df = pd.DataFrame(index=residual_df.index.values, columns=[im], dtype=float)
343-
rem_res_df[event_cname] = residual_df[event_cname]
398+
# rem_res_df[event_cname] = residual_df[event_cname]
344399
fit_series = pd.Series(index=residual_df.index.values, dtype=float, name=im)
345400
site_res_series, site_cond_std_series = None, None
346401
if site_cname is not None:

0 commit comments

Comments
 (0)