4.4. Series Attributes
4.4.1. SetUp
>>> import pandas as pd
>>>
>>> data = pd.Series(['a', 'b', 'c'])
4.4.2. Size
>>> data.size
3
4.4.3. NDim
Number of Dimensions
>>> data.ndim
1
4.4.4. Shape
>>> data.shape
(3,)
4.4.5. Index
More information in Pandas Series Index
>>> data
0 a
1 b
2 c
dtype: object
>>> data.index
RangeIndex(start=0, stop=3, step=1)
4.4.6. Values
>>> data.values
array(['a', 'b', 'c'], dtype=object)
4.4.7. Assignments
"""
* Assignment: Pandas Series Attributes
* Complexity: easy
* Lines of code: 4 lines
* Time: 3 min
English:
1. Define `result: dict` with:
a. number of dimensions;
b. number of elements;
c. data type;
e. shape.
2. Run doctests - all must succeed
Polish:
1. Zdefiniuj `result: dict` z:
a. liczbę wymiarów,
b. liczbę elementów,
c. typ danych,
e. kształt.
2. Uruchom doctesty - wszystkie muszą się powieść
Run:
* PyCharm: right-click in the editor and pick `Run Doctest in myfile`
* PyCharm: `Control + Shift + R`
* Terminal: `python -m doctest -v myfile.py`
Tests:
>>> import sys; sys.tracebacklimit = 0
>>> assert result is not Ellipsis, \
'Assign result to variable: `result`'
>>> assert all(type(x) is not Ellipsis for x in result.values()), \
'Assign result to dict values in `result`'
>>> assert type(result) is dict, \
'Variable `result` has invalid type, should be `dict`'
>>> result # doctest: +NORMALIZE_WHITESPACE
{'number of dimensions': 1,
'number of elements': 3,
'data type': dtype('O'),
'shape': (3,)}
"""
import pandas as pd
DATA = pd.Series(['a', 'b', 'c'])
# type: dict[str, int|dtype|tuple]
result = {
'number of dimensions': ...,
'number of elements': ...,
'data type': ...,
'shape': ...,
}