Table#

class pypillometry.Table(columns=None, **kwargs)[source]#

Bases: dict

A table: a dict of columns (column name -> numpy array), all of the same length (one value per row).

It is a plain dict (t["n"], t.keys(), pd.DataFrame(t)), with numpy arrays as columns, but it is shown as a table: as a pandas.DataFrame in notebooks and with print(). to_pandas() converts it.

Parameters:
  • columns (dict, optional) – column name -> values (converted to numpy arrays)

  • **kwargs – more columns

Raises:

ValueError – if the columns differ in length

Examples

>>> import pypillometry as pp
>>> t = pp.Table({"channel": ["left_pupil", "right_pupil"], "n": [14, 13]})
>>> t["n"]
array([14, 13])
>>> t.nrows
2
>>> print(t)
       channel   n
0   left_pupil  14
1  right_pupil  13

Methods

clear

Remove all items from the dict.

copy

Return a shallow copy of the dict.

fromkeys

Create a new dictionary with keys from iterable and values set to value.

get

Return the value for key if key is in the dictionary, else default.

items

Return a set-like object providing a view on the dict's items.

keys

Return a set-like object providing a view on the dict's keys.

pop

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem

Remove and return a (key, value) pair as a 2-tuple.

setdefault

Insert key with a value of default if key is not in the dictionary.

to_pandas

The table as a pandas.DataFrame.

update

If E is present and has a .keys() method, then does: for k in E.keys(): D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values

Return an object providing a view on the dict's values.

Details

classmethod fromkeys(iterable, value=None, /)#

Create a new dictionary with keys from iterable and values set to value.

clear(/)#

Remove all items from the dict.

copy(/)#

Return a shallow copy of the dict.

get(key, default=None, /)#

Return the value for key if key is in the dictionary, else default.

items(/)#

Return a set-like object providing a view on the dict’s items.

keys(/)#

Return a set-like object providing a view on the dict’s keys.

pop(key, default=<unrepresentable>, /)#

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem(/)#

Remove and return a (key, value) pair as a 2-tuple.

Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.

setdefault(key, default=None, /)#

Insert key with a value of default if key is not in the dictionary.

Return the value for key if key is in the dictionary, else default.

to_pandas()[source]#

The table as a pandas.DataFrame.

Return type:

pandas.DataFrame

update([E, ]**F) → None.  Update D from mapping/iterable E and F.#

If E is present and has a .keys() method, then does: for k in E.keys(): D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values(/)#

Return an object providing a view on the dict’s values.

property nrows: int#

Number of rows.