관리-도구
편집 파일: records.cpython-37.pyc
B ��Fd�r � @ s d Z ddlmZmZmZ ddlZddlZddlmZ ddlm Z ddlm Z mZmZ dd d gZe jZddd ddd ddddd dddd�ZejZdd� ZG dd � d �ZG dd� dej�ZG dd � d e�Zd$dd�Zd%dd�Zd&dd�Zdd� Zd'dd �Zd(d"d#�ZdS ))a� 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', int), ('y', float)]) >>> a array([(1, 2.0), (1, 2.0)], dtype=[('x', '<i4'), ('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.]) � )�division�absolute_import�print_functionN� )�numeric)�numerictypes)� isfileobj�bytes�long�record�recarray� format_parser�>�<�=�s�|)�b�l�n�B�L�N�Sr r r r r �I�ic C sP g }xFt t| ��D ]6}| | | |d d� kr| | |kr|�| | � qW |S )z@Find duplication in a list, return a list of duplicated elementsr N)�range�len�append)�list�dupr � r! �E/opt/alt/python37/lib64/python3.7/site-packages/numpy/core/records.py�find_duplicateJ s r# c @ s4 e Zd ZdZd dd�Zddd�Zd d � Zdd� 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. | � ||� | �||� | �|� | j| _d S )N)� _parseFormats�_setfieldnames�_createdescr�_descr�dtype)�self�formats�names�titles�aligned� byteorderr! r! r"