Conversions module¶
Contains function that help in converting between types
-
class
pandas_extras.conversions.NativeDict(*args, **kwargs)[source]¶ Bases:
dictHelper class to ensure that only native types are in the dicts produced by
to_dict()>>> df.to_dict(orient='records', into=NativeDict)
Note
Needed until #21256 is resolved.
-
pandas_extras.conversions.clear_nan(dataframe)[source]¶ Change the pandas.NaT and the pandas.nan elements to None.
Parameters: dataframe – The pandas.DataFrame object which should be transformed Returns: The modified dataframe
-
pandas_extras.conversions.convert_to_type(dataframe, mapper, *types, kwargs_map=None)[source]¶ Converts columns to types specified by the
mapper. In case ofinteger,float,signedandunsignedtypecasting, the smallest possible type will be chosen. See more details atto_numeric().>>> df = pd.DataFrame({ ... 'date': ['05/06/2018', '05/04/2018'], ... 'datetime': [156879000, 156879650], ... 'number': ['1', '2.34'], ... 'int': [4, 8103], ... 'float': [4.0, 8103.0], ... 'object': ['just some', 'strings'] ... }) >>> mapper = { ... 'number': 'number', 'integer': 'int', 'float': 'float', ... 'date': ['date', 'datetime'] ... } >>> kwargs_map = {'datetime': {'unit': 'ms'}} >>> df.pipe( ... convert_to_type, mapper, 'integer', 'date', ... 'number', 'float', kwargs_map=kwargs_map ... ).dtypes date datetime64[ns] datetime datetime64[ns] number float64 int int64 float float32 object object dtype: object
Parameters: - dataframe (
DataFrame) – The DataFrame object to work on. - mapper (dict) – Dict with column names as values and any of the following keys:
number,integer,float,signed,unsigned,dateanddatetime. - *types (str) – any number of keys from the mapper. If omitted, all keys from
mapperwill be used. - kwargs_map (dict) – Dict of keyword arguments to apply to
to_datetime()orto_numeric(). Keys must be the column names, values are the kwargs dict.
Returns: The converted dataframe
Return type: - dataframe (
-
pandas_extras.conversions.truncate_strings(dataframe, length_mapping)[source]¶ Truncates strings in columns to defined length.
>>> df = pd.DataFrame({ ... 'strings': [ ... 'foo', ... 'baz', ... ], ... 'long_strings': [ ... 'foofoofoofoofoo', ... 'bazbazbazbazbaz', ... ], ... 'even_longer_strings': [ ... 'foofoofoofoofoofoofoofoo', ... 'bazbazbazbazbazbazbazbaz', ... ] ...}) >>> df.pipe(truncate_strings, {'long_strings': 6, 'even_longer_strings': 9}) strings long_strings even_longer_strings 0 foo foofoo foofoofoo 1 baz bazbaz bazbazbaz
Parameters: Returns: The converted dataframe
Return type: