Skip to content
Snippets Groups Projects
Commit e06aa5a0 authored by Bert Palm's avatar Bert Palm 🎇
Browse files

creation with named series and columns fix

parent 0b51b177
No related branches found
No related tags found
No related merge requests found
......@@ -97,7 +97,7 @@ class DictOfSeries:
self._data = pd.Series(dtype='O', index=index.unique())
if data is not None:
self._init_insert_data(data, columns)
self._init_insert_data(data)
# self._data contain nans at locations, where no
# data was present, but a column-name was given
......@@ -116,23 +116,29 @@ class DictOfSeries:
self._data.name = '_data'
self._data.index.name = 'columns'
def _init_insert_data(self, data, columns):
def _init_insert_data(self, data):
""" Insert items of a iterable in self"""
data = list(data) if _is_iterator(data) else data
cols_empty = self.columns.empty
if isinstance(data, dict) or _is_dios_like(data):
for k in data:
if columns is None or k in self.columns:
if cols_empty or k in self.columns:
self._insert(k, data[k])
elif isinstance(data, pd.Series):
self._insert(data.name or 0, data)
name = data.name or 0
if not cols_empty:
# overwrite by columns
if data.name is None or data.name not in self.columns:
name = self.columns[0]
self._insert(name, data)
elif _is_list_like(data):
data = data if _is_nested_list_like(data) else [data]
if self.columns.empty:
if cols_empty:
self._data = pd.Series(dtype='O', index=pd.RangeIndex(len(data)))
elif len(data) != len(self.columns):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment