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

more docu

parent ccc7d533
No related branches found
No related tags found
No related merge requests found
......@@ -4,37 +4,204 @@ Dios Methods and Properies
Methods
--------
- `copy()`
- `copy_empty()`
- `all()`
- `any()`
- `squeeze()`
- `to_df()`
- `to_string()`
- `apply()`
- `astype()`
- `isin()`
- `isna()`
- `notna()`
- `dropna()`
- `memory_usage()`
- `index_of()`
- `in`
- `is`
- `len(Dios)`
TODO: make brief description table
Brief
- `copy(deep=True)` : Return a copy. See also [pandas.DataFrame.copy](
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.copy.html)
- `copy_empty()` : Return a new DictOfSeries object, with same properties than the original.
- `all(axis=0)` : Return whether all elements are True, potentially over an axis. See also [pandas.DataFrame.all](
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.all.html)
- `any(axis=0)` : Return whether any element is True, potentially over an axis. See also [pandas.DataFrame.any](
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.any.html)
- `squeeze(axis=None)` : Squeeze a 1-dimensional axis objects into scalars. Eg. a 1-column Dios is squeezes to the
underling Series. If `axis=None` it is also tried, to squeeze the possibly returned Series, from the (outer)
Dios-squeeze.
See also [pandas.DataFrame.squeeze](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.squeeze.html)
- `to_df()` : Transform the Dios to a pandas.DataFrame
- `to_string(kwargs)` : Return a string representation of the Dios.
- `apply(func, args=(), **kwds)` : apply the given function to every column in the dios eg.
- `astype()` : Cast the data to the given data type.
- `isin()` : return a boolean dios, that indicates if the corresponding value is in the given array-like
- `isna()` : Return a bolean array that is `True` if the value is a Nan-value
- `notna()` : inverse of `isnan()`
- `dropna()` : drop all Nan-values
- `index_of(method='union)`: Return a single(!) Index that is constructed from all the indexes of the columns.
- `in`
- `is`
- `len(Dios)` : return the number of columns the dios has.
`copy_empty(columns=True)`
--------------------------
Return a new DictOfSeries object, with same properties than the original.
If `columns=True`, the copy will have the same, but empty columns like the original.
**Parameter**:
- **columns : bool, default True**
Function to apply to each column or row.
**Examples**
```
>>> d
a | b | c | d |
===== | ==== | ===== | ===== |
0 0 | 2 5 | 4 7 | 6 0 |
1 7 | 3 6 | 5 17 | 7 1 |
2 14 | 4 7 | 6 27 | 8 2 |
3 21 | 5 8 | 7 37 | 9 3 |
4 28 | 6 9 | 8 47 | 10 4 |
>>> d.copy_empty()
Empty DictOfSeries
Columns: ['a', 'b', 'c', 'd']
>>> d.copy_empty(columns=False)
Empty DictOfSeries
Columns: []
```
`to_df()`
---------
Transform the Dios to a pandas.DataFrame. Missing common indices are filled with NaN's.
**Examples**
```
>>> d
a | b | c | d |
===== | ==== | ===== | ===== |
0 0 | 2 5 | 4 7 | 6 0 |
1 7 | 3 6 | 5 17 | 7 1 |
2 14 | 4 7 | 6 27 | 8 2 |
3 21 | 5 8 | 7 37 | 9 3 |
4 28 | 6 9 | 8 47 | 10 4 |
>>> d.to_df()
columns a b c d
0 0.0 NaN NaN NaN
1 7.0 NaN NaN NaN
2 14.0 5.0 NaN NaN
3 21.0 6.0 NaN NaN
4 28.0 7.0 7.0 NaN
5 NaN 8.0 17.0 NaN
6 NaN 9.0 27.0 0.0
7 NaN NaN 37.0 1.0
8 NaN NaN 47.0 2.0
9 NaN NaN NaN 3.0
10 NaN NaN NaN 4.0
```
dios.DictOfSeries.apply
-------------------------------------------------
`apply(func, axis=0, raw=False, args=(), **kwds)`
Apply the given function to every column in the dios. This is a very mighty tool to apply functions that
are defined on pandas.Series to multiple columns.
**Parameters:**
- **func : function**
Function to apply to each column or row.
- **axis : {0 or ‘index’, 1 or ‘columns’}, default 0**
Axis along which the function is applied:
- 0 or ‘index’: apply function to each column.
- ~~1 or ‘columns’: apply function to each row~~. **not implemented**
- **raw : bool, default False**
Determines if row or column is passed as a Series or ndarray object:
- `False` : passes each row or column as a Series to the function.
- `True` : the passed function will receive ndarray objects instead. If you are just applying a NumPy reduction function this will achieve much better performance.
- **args : tuple**
Positional arguments to pass to func in addition to the array/series.
- ****kwds**
Additional keyword arguments to pass as keywords arguments to func.
**Returns: Series or DataFrame**
- Result of applying func along the given axis of the DataFrame.
**See also**
[pandas.DataFrame.apply](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.html)
**Examples**
```
>>> d
a | b | c | d |
===== | ==== | ===== | ===== |
0 0 | 2 5 | 4 7 | 6 0 |
1 7 | 3 6 | 5 17 | 7 1 |
2 14 | 4 7 | 6 27 | 8 2 |
3 21 | 5 8 | 7 37 | 9 3 |
4 28 | 6 9 | 8 47 | 10 4 |
>>> d.apply(max)
columns
a 28
b 9
c 47
d 4
dtype: int64
>>> d.apply(pd.Series.count)
columns
a 5
b 5
c 5
d 5
dtype: int64
>>> d.apply(pd.Series.value_counts, normalize=True)
a | b | c | d |
======= | ====== | ======= | ====== |
7 0.2 | 7 0.2 | 7 0.2 | 4 0.2 |
14 0.2 | 6 0.2 | 37 0.2 | 3 0.2 |
21 0.2 | 5 0.2 | 47 0.2 | 2 0.2 |
28 0.2 | 9 0.2 | 27 0.2 | 1 0.2 |
0 0.2 | 8 0.2 | 17 0.2 | 0 0.2 |
>>> d.apply(lambda s : 'high' if max(s) > 10 else 'low')
columns
a high
b low
c high
d low
dtype: object
>>> d.apply(lambda s : ('high', max(s)) if min(s) > (max(s)//2) else ('low',max(s)))
a | b | c | d |
====== | ======= | ====== | ====== |
0 low | 0 high | 0 low | 0 low |
1 28 | 1 9 | 1 47 | 1 4 |
```
dios.DictOfSeries.index_of
---------------------------
`index_of(method='union)`
: return a single(!) Index that is constructed from all the indexes of the columns.
Properties
----------
- columns
- indexes (series of indexes of all series's)
- lengths (series of lengths of all series's)
- values (not fully pd-like - np.array of series's values)
- dtypes
- itype (see section Itype)
- empty
- size
TODO: make brief description table
- `columns` : Column index
- `indexes` : Series of indexes of columns
- `lengths` : Series of lengths of columns
- `values` : A array of length of the columns, with arrays of values, as sub-arrays
- `dtypes` : Series of dtypes of columns
- `itype` : The index type the Dios accept
- `empty` : True if the dios holds no data. Nevertheless the dios can have empty 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