pandas.DataFrame.to_records
-
DataFrame.to_records(index=True, convert_datetime64=None)
[source] -
Convert DataFrame to a NumPy record array.
Index will be put in the ‘index’ field of the record array if requested.
Parameters: index : boolean, default True
Include index in resulting record array, stored in ‘index’ field.
convert_datetime64 : boolean, default None
Deprecated since version 0.23.0.
Whether to convert the index to datetime.datetime if it is a DatetimeIndex.
Returns: -
y : numpy.recarray
See also
-
DataFrame.from_records
- convert structured or record ndarray to DataFrame.
-
numpy.recarray
- ndarray that allows field access using attributes, analogous to typed columns in a spreadsheet.
Examples
>>> df = pd.DataFrame({'A': [1, 2], 'B': [0.5, 0.75]}, ... index=['a', 'b']) >>> df A B a 1 0.50 b 2 0.75 >>> df.to_records() rec.array([('a', 1, 0.5 ), ('b', 2, 0.75)], dtype=[('index', 'O'), ('A', '<i8'), ('B', '<f8')])
The index can be excluded from the record array:
>>> df.to_records(index=False) rec.array([(1, 0.5 ), (2, 0.75)], dtype=[('A', '<i8'), ('B', '<f8')])
By default, timestamps are converted to
datetime.datetime
:>>> df.index = pd.date_range('2018-01-01 09:00', periods=2, freq='min') >>> df A B 2018-01-01 09:00:00 1 0.50 2018-01-01 09:01:00 2 0.75 >>> df.to_records() rec.array([(datetime.datetime(2018, 1, 1, 9, 0), 1, 0.5 ), (datetime.datetime(2018, 1, 1, 9, 1), 2, 0.75)], dtype=[('index', 'O'), ('A', '<i8'), ('B', '<f8')])
The timestamp conversion can be disabled so NumPy’s datetime64 data type is used instead:
>>> df.to_records(convert_datetime64=False) rec.array([('2018-01-01T09:00:00.000000000', 1, 0.5 ), ('2018-01-01T09:01:00.000000000', 2, 0.75)], dtype=[('index', '<M8[ns]'), ('A', '<i8'), ('B', '<f8')])
-
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.DataFrame.to_records.html