Skip to content

Commit

Permalink
Updated Docstrings in pandas parameter package
Browse files Browse the repository at this point in the history
  • Loading branch information
patrickhaetti authored and s-weigand committed Dec 1, 2021
1 parent bfac067 commit a0ed949
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 5 deletions.
1 change: 1 addition & 0 deletions glotaran/builtin/io/pandas/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Pandas parameter package."""
29 changes: 27 additions & 2 deletions glotaran/builtin/io/pandas/csv.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
"""Register CSV parameters."""

from __future__ import annotations

import numpy as np
Expand All @@ -10,14 +12,37 @@

@register_project_io(["csv"])
class CsvProjectIo(ProjectIoInterface):
"""Plugin for CSV data io."""

def load_parameters(self, file_name: str) -> ParameterGroup:
"""Load parameters from CSV file.
Parameters
----------
file_name : str
Name of file to be loaded.
Returns
-------
:class:`ParameterGroup
"""
df = pd.read_csv(file_name, skipinitialspace=True, na_values=["None", "none"])
df["minimum"].fillna(-np.inf, inplace=True)
df["maximum"].fillna(np.inf, inplace=True)
return ParameterGroup.from_dataframe(df, source=file_name)

def save_parameters(self, parameters: ParameterGroup, file_name: str, *, sep=","):
"""Save a :class:`ParameterGroup` to a CSV file."""
def save_parameters(self, parameters: ParameterGroup, file_name: str, *, sep: str = ","):
"""Save a :class:`ParameterGroup` to a CSV file.
Parameters
----------
parameters : ParameterGroup
Parameters to be saved to file.
file_name : str
File to write the parameters to.
sep: str
Other separators can be used optionally.
"""
df = parameters.to_dataframe()
df["minimum"].replace([-np.inf], "", inplace=True)
df["maximum"].replace([np.inf], "", inplace=True)
Expand Down
25 changes: 24 additions & 1 deletion glotaran/builtin/io/pandas/tsv.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
"""Register TSV parameters."""

from __future__ import annotations

import pandas as pd
Expand All @@ -9,10 +11,31 @@

@register_project_io(["tsv"])
class TsvProjectIo(ProjectIoInterface):
"""Plugin for CTSV data io."""

def load_parameters(self, file_name: str) -> ParameterGroup:
"""Load parameters from TSV file.
Parameters
----------
file_name : str
Name of file to be loaded.
Returns
-------
:class:`ParameterGroup
"""
df = pd.read_csv(file_name, skipinitialspace=True, na_values=["None", "none"], sep="\t")
return ParameterGroup.from_dataframe(df, source=file_name)

def save_parameters(self, parameters: ParameterGroup, file_name: str):
"""Save a :class:`ParameterGroup` to a TSV file."""
"""Save a :class:`ParameterGroup` to a TSV file.
Parameters
----------
parameters : ParameterGroup
Parameters to be saved to file.
file_name : str
File to write the parameters to.
"""
parameters.to_dataframe().to_csv(file_name, na_rep="None", index=False, sep="\t")
26 changes: 24 additions & 2 deletions glotaran/builtin/io/pandas/xlsx.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
"""Register XLSX parameters."""

from __future__ import annotations

import numpy as np
Expand All @@ -10,15 +12,35 @@

@register_project_io(["xlsx"])
class ExcelProjectIo(ProjectIoInterface):
"""Plugin for XLSX data io."""

def load_parameters(self, file_name: str) -> ParameterGroup:
"""Load a :class:`ParameterGroup` from a Excel file."""
"""Load parameters from XLSX file.
Parameters
----------
file_name : str
Name of file to be loaded.
Returns
-------
:class:`ParameterGroup
"""
df = pd.read_excel(file_name, na_values=["None", "none"])
df["minimum"].fillna(-np.inf, inplace=True)
df["maximum"].fillna(np.inf, inplace=True)
return ParameterGroup.from_dataframe(df, source=file_name)

def save_parameters(self, parameters: ParameterGroup, file_name: str):
"""Save a :class:`ParameterGroup` to a Excel file."""
"""Save a :class:`ParameterGroup` to a Excel file.
Parameters
----------
parameters : ParameterGroup
Parameters to be saved to file.
file_name : str
File to write the parameters to.
"""
df = parameters.to_dataframe()
df["minimum"].replace([-np.inf], "", inplace=True)
df["maximum"].replace([np.inf], "", inplace=True)
Expand Down

0 comments on commit a0ed949

Please sign in to comment.