Yandex

Course IndexCourse Index0

    ProgramGuru

    Data Types in NumPy Arrays
    With Examples


    Every NumPy array has a data type associated with it. This determines the kind of elements it can hold — integers, floats, complex numbers, booleans, strings, and more. In NumPy, this is known as dtype (short for data type).

    Why Should You Care About Data Types?

    Because choosing the right data type impacts:

    • Performance: Smaller types use less memory, allowing faster computation.
    • Precision: Floats vs. integers can make or break a scientific calculation.
    • Compatibility: Certain NumPy functions behave differently with different dtypes.

    How to Check the Data Type of a NumPy Array

    import numpy as np
    
    arr = np.array([1, 2, 3])
    print(arr.dtype)

    This will output: int64 (or int32 depending on your system).

    Specifying a Data Type Explicitly

    You can define the desired data type while creating an array using the dtype parameter:

    float_arr = np.array([1, 2, 3], dtype='float32')
    print(float_arr)

    Output: [1. 2. 3.]

    Here, all the integers are converted to float32.

    Commonly Used Data Types in NumPy

    Data TypeDescriptionExample
    int8, int16, int32, int64Integer typesnp.array([1, 2], dtype='int16')
    float16, float32, float64Floating-point numbersnp.array([1.0, 2.0], dtype='float64')
    boolBoolean valuesnp.array([True, False])
    complexComplex numbersnp.array([1+2j])
    str / UUnicode stringsnp.array(['hello'])

    Type Conversion (Type Casting)

    You can change the data type of an existing array using astype():

    arr = np.array([1.7, 2.8, 3.2])
    new_arr = arr.astype('int32')
    print(new_arr)

    Output: [1 2 3] – Note that the float values are truncated, not rounded!

    Verifying and Comparing Data Types

    Before type casting, it's often wise to inspect the original data type:

    print(arr.dtype == np.float64)  # True or False

    Handling Mixed-Type Inputs

    What happens if you pass mixed types?

    arr = np.array([1, 2.5, '3'])

    This will create an array of strings: ['1' '2.5' '3']

    NumPy uses the upcasting rule — it promotes all elements to the most general type that can accommodate all values.

    Best Practices and Tips

    • Always check dtype after loading or transforming data.
    • Use specific dtypes like float32 for large-scale numeric computation to save memory.
    • Avoid mixing types unless explicitly required — it can lead to unexpected behaviors.

    Quick Test: Try It Yourself

    a = np.array([1, 2, 3], dtype='int8')
    b = a.astype('float64')
    print(b)

    What do you expect as the output? Try changing the dtype and observe what changes.

    Summary

    Data types are the foundation of efficient computation in NumPy. From simple integers to complex numbers, NumPy allows control over your data representation — and this control often determines both performance and accuracy.

    Get into the habit of inspecting and managing dtype. It’s a small habit that pays big dividends as your datasets grow.



    Welcome to ProgramGuru

    Sign up to start your journey with us

    Support ProgramGuru.org

    You can support this website with a contribution of your choice.

    When making a contribution, mention your name, and programguru.org in the message. Your name shall be displayed in the sponsors list.

    PayPal

    UPI

    PhonePe QR

    MALLIKARJUNA M