?????????? ????????? - ??????????????? - /usr/lib64/python3.9/site-packages/numpy/core/__pycache__/records.cpython-39.pyc
???????
a z[yc�� � @ sD d Z ddlZddlmZ ddlmZ ddlmZ ddlm Z ddlmZ dd l mZ dd lmZ g d�ZejZdd ddd ddddd ddddd�Ze jZdd� Zed�G dd� d��ZG dd� de j�ZG dd� de�Zdd� Zed�d,dd ��Zed�d-d!d"��Zed�d.d#d$��Zd%d&� Zed�d/d'd(��Z ed�d0d*d+��Z!dS )1a� Record Arrays ============= Record arrays expose the fields of structured arrays as properties. Most commonly, ndarrays contain elements of a single type, e.g. floats, integers, bools etc. However, it is possible for elements to be combinations of these using structured types, such as:: >>> a = np.array([(1, 2.0), (1, 2.0)], dtype=[('x', np.int64), ('y', np.float64)]) >>> a array([(1, 2.), (1, 2.)], dtype=[('x', '<i8'), ('y', '<f8')]) Here, each element consists of two fields: x (and int), and y (a float). This is known as a structured array. The different fields are analogous to columns in a spread-sheet. The different fields can be accessed as one would a dictionary:: >>> a['x'] array([1, 1]) >>> a['y'] array([2., 2.]) Record arrays allow us to access fields as properties:: >>> ar = np.rec.array(a) >>> ar.x array([1, 1]) >>> ar.y array([2., 2.]) � N)�Counter)�nullcontext� )�numeric)�numerictypes)� os_fspath)� set_module)�_get_legacy_print_mode)�record�recarray� format_parser� fromarrays�fromrecords� fromstring�fromfile�array�>�<�=�s�|)�b�l�n�B�L�N�Sr r r r r �I�ic C s dd� t | ��� D �S )z@Find duplication in a list, return a list of duplicated elementsc S s g | ]\}}|d kr|�qS �r � )�.0�itemZcountsr! r! �8/usr/lib64/python3.9/site-packages/numpy/core/records.py� <listcomp>P s �z"find_duplicate.<locals>.<listcomp>)r �items)�listr! r! r$ �find_duplicateN s �r( �numpyc @ s4 e Zd ZdZddd�Zd dd�Zdd � Zd d� ZdS )r a� Class to convert formats, names, titles description to a dtype. After constructing the format_parser object, the dtype attribute is the converted data-type: ``dtype = format_parser(formats, names, titles).dtype`` Attributes ---------- dtype : dtype The converted data-type. Parameters ---------- formats : str or list of str The format description, either specified as a string with comma-separated format descriptions in the form ``'f8, i4, a5'``, or a list of format description strings in the form ``['f8', 'i4', 'a5']``. names : str or list/tuple of str The field names, either specified as a comma-separated string in the form ``'col1, col2, col3'``, or as a list or tuple of strings in the form ``['col1', 'col2', 'col3']``. An empty list can be used, in that case default field names ('f0', 'f1', ...) are used. titles : sequence Sequence of title strings. An empty list can be used to leave titles out. aligned : bool, optional If True, align the fields by padding as the C-compiler would. Default is False. byteorder : str, optional If specified, all the fields will be changed to the provided byte-order. Otherwise, the default byte-order is used. For all available string specifiers, see `dtype.newbyteorder`. See Also -------- dtype, typename, sctype2char Examples -------- >>> np.format_parser(['<f8', '<i4', '<a5'], ['col1', 'col2', 'col3'], ... ['T1', 'T2', 'T3']).dtype dtype([(('T1', 'col1'), '<f8'), (('T2', 'col2'), '<i4'), (('T3', 'col3'), 'S5')]) `names` and/or `titles` can be empty lists. If `titles` is an empty list, titles will simply not appear. If `names` is empty, default field names will be used. >>> np.format_parser(['f8', 'i4', 'a5'], ['col1', 'col2', 'col3'], ... []).dtype dtype([('col1', '<f8'), ('col2', '<i4'), ('col3', '<S5')]) >>> np.format_parser(['<f8', '<i4', '<a5'], [], []).dtype dtype([('f0', '<f8'), ('f1', '<i4'), ('f2', 'S5')]) FNc C s&