diff options
author | Frederick Muriuki Muriithi | 2021-11-09 09:56:41 +0300 |
---|---|---|
committer | Frederick Muriuki Muriithi | 2021-11-09 09:56:41 +0300 |
commit | 9b590d894f1e68ca5d7d00cb6d268f7fb6e6730c (patch) | |
tree | 9722d6320312ca2728c69851e684bae0a144b56f /gn3 | |
parent | 9647226ea4c85449581df713c2bb583aeed6940f (diff) | |
download | genenetwork3-9b590d894f1e68ca5d7d00cb6d268f7fb6e6730c.tar.gz |
Fix bug: if three columns, ensure last is "z"
Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi
* Fix a bug, caught when the function is called in a recursive form, with the
"z*" columns reducing for each cycle through the recursive form.
As it was, the last cycle through the recursive form would end up with a
DataFrame with the columns "x", "y", and "z0" rather than the columns "x",
"y", "z".
This commit handles that edge case to ensure that the column name is changed
from "z0" to simply "z".
Diffstat (limited to 'gn3')
-rw-r--r-- | gn3/computations/partial_correlations.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gn3/computations/partial_correlations.py b/gn3/computations/partial_correlations.py index bd127a7..9d73197 100644 --- a/gn3/computations/partial_correlations.py +++ b/gn3/computations/partial_correlations.py @@ -272,8 +272,11 @@ def build_data_frame( x_y_df = pandas.DataFrame({"x": xdata, "y": ydata}) if isinstance(zdata[0], float): return x_y_df.join(pandas.DataFrame({"z": zdata})) - return x_y_df.join(pandas.DataFrame( + interm_df = x_y_df.join(pandas.DataFrame( {"z{}".format(i): val for i, val in enumerate(row)} for row in zdata)) + if interm_df.shape[1] == 3: + return interm_df.rename(columns={"z0": "z"}) + return interm_df def partial_correlation_matrix( xdata: Tuple[float, ...], ydata: Tuple[float, ...], |