File: //home/arjun/.local/lib/python3.10/site-packages/numpy/core/__pycache__/records.cpython-310.pyc
o
���g�� � @ sX d Z ddlZddlmZ ddlmZ ddlmZ ddlm Z
dd lmZ dd
l
mZ ddlmZ g d�Ze
jZd
ddd
ddddd
dddddd�ZejZdd� Zed�G dd� d��ZG dd� dej�ZG dd� de�Zdd� Zed� d-d d!��Zed� d-d"d#��Zed� d.d$d%��Zd&d'� Zed� d.d(d)��Z ed� *d/d+d,��Z!dS )0a�
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� )�
set_module� )�numeric)�numerictypes)� os_fspath)�_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�item�countsr"