Ejemplo n.º 1
0
def test_common_dtype_string():
    u3 = np.array([u'123'])
    u4 = np.array([u'1234'])
    b3 = np.array([b'123'])
    b5 = np.array([b'12345'])
    assert common_dtype([u3, u4]).endswith('U4')
    assert common_dtype([b5, u4]).endswith('U5')
    assert common_dtype([b3, b5]).endswith('S5')
Ejemplo n.º 2
0
def test_common_dtype_string():
    u3 = np.array([u'123'])
    u4 = np.array([u'1234'])
    b3 = np.array([b'123'])
    b5 = np.array([b'12345'])
    assert common_dtype([u3, u4]).endswith('U4')
    assert common_dtype([b5, u4]).endswith('U5')
    assert common_dtype([b3, b5]).endswith('S5')
Ejemplo n.º 3
0
def test_common_dtype_basic():
    i8 = np.array(1, dtype=np.int64)
    f8 = np.array(1, dtype=np.float64)
    u3 = np.array(u'123')

    with pytest.raises(MergeConflictError):
        common_dtype([i8, u3])

    assert common_dtype([i8, i8]).endswith('i8')
    assert common_dtype([i8, f8]).endswith('f8')
Ejemplo n.º 4
0
def test_common_dtype_basic():
    i8 = np.array(1, dtype=np.int64)
    f8 = np.array(1, dtype=np.float64)
    u3 = np.array(u'123')

    with pytest.raises(MergeConflictError):
        common_dtype([i8, u3])

    assert common_dtype([i8, i8]).endswith('i8')
    assert common_dtype([i8, f8]).endswith('f8')
Ejemplo n.º 5
0
def common_dtype(cols):
    """
    Use numpy to find the common dtype for a list of columns.

    Only allow columns within the following fundamental numpy data types:
    np.bool_, np.object_, np.number, np.character, np.void
    """
    try:
        return metadata.common_dtype(cols)
    except metadata.MergeConflictError as err:
        tme = TableMergeError('Columns have incompatible types {}'.format(
            err._incompat_types))
        tme._incompat_types = err._incompat_types
        raise tme
Ejemplo n.º 6
0
def common_dtype(cols):
    """
    Use numpy to find the common dtype for a list of columns.

    Only allow columns within the following fundamental numpy data types:
    np.bool_, np.object_, np.number, np.character, np.void
    """
    try:
        return metadata.common_dtype(cols)
    except metadata.MergeConflictError as err:
        tme = TableMergeError('Columns have incompatible types {0}'
                              .format(err._incompat_types))
        tme._incompat_types = err._incompat_types
        raise tme