Source code for sgs.metadata
from typing import Optional, Dict, List, Union
import pandas as pd
from .search import search_ts
[docs]def metadata(ts_code: Union[int, pd.DataFrame], language: str = "en") -> Optional[List]:
"""Request metadata about a time serie or all time series in a pandas dataframe.
:param ts_code: time serie code or pandas dataframe with time series as columns.
:param language: language of the returned metadata.
:return: List of dicts containing time series metadata.
:rtype: list_
Usage::
>>> CDI = 12
>>> INCC = 192 # National Index of Building Costs
>>> df = sgs.dataframe([CDI, INCC], start='02/01/2018', end='31/12/2018')
>>> sgs.metadata(df)
[{'code': 12, 'name': 'Interest rate - CDI', 'unit': '% p.d.', 'frequency': 'D',
'first_value': Timestamp('1986-03-06 00:00:00'), 'last_value': Timestamp('2019-06-27 00:00:00'),
'source': 'Cetip'}, {'code': 192, 'name': 'National Index of Building Costs (INCC)',
'unit': 'Monthly % var.', 'frequency': 'M', 'first_value': Timestamp('1944-02-29 00:00:00'),
'last_value': Timestamp('2019-05-01 00:00:00'), 'source': 'FGV'}]
"""
info = []
if isinstance(ts_code, pd.core.frame.DataFrame):
for col in ts_code.columns:
col_info = search_ts(col, language)
if col_info is not None:
info.append(col_info[0])
else:
info.append(None)
else:
col_info = search_ts(ts_code, language)
info.append(col_info)
return info