Skip to content

Commit

Permalink
Merge pull request #34 from usc-isi-i2/dongyul
Browse files Browse the repository at this point in the history
allow use to choose if to keep the dataframe index
  • Loading branch information
GreatYYX committed Nov 28, 2018
2 parents ddb8ab1 + 85f1255 commit 40127b8
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
14 changes: 11 additions & 3 deletions rltk/io/reader/dataframe_reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,19 @@ class DataFrameReader(Reader):
Args:
df (pandas.DataFrame): DataFrame.
keep_dataframe_default_index (bool, optional): if True, add a key "dataframe_default_index" holding the \
original index in df. [default value: False]
"""

def __init__(self, df: pd.DataFrame):
def __init__(self, df: pd.DataFrame, keep_dataframe_default_index: bool=False):
self._df = df
self._keep_dataframe_default_index = keep_dataframe_default_index

def __next__(self):
for i, item in self._df.iterrows():
yield dict(item.to_dict(), dataframe_default_index=i)
if self._keep_dataframe_default_index:
for i, item in self._df.iterrows():
yield dict(item.to_dict(), dataframe_default_index=i)
else:
for _, item in self._df.iterrows():
yield item.to_dict()
6 changes: 6 additions & 0 deletions rltk/tests/test_io_reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ def test_array_reader():
def test_dataframe_reader():
df = pd.DataFrame(arr)
for idx, obj in enumerate(DataFrameReader(df)):
assert obj == arr[idx]


def test_dataframe_reader_keep_index():
df = pd.DataFrame(arr)
for idx, obj in enumerate(DataFrameReader(df, True)):
assert obj == dict(**arr[idx], dataframe_default_index=idx)


Expand Down

0 comments on commit 40127b8

Please sign in to comment.