1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

[Python] How do I stop pandas.aggregate(engine='numba') downcasting uint64 to int64?

Discussão em 'Python' iniciado por Stack, Setembro 6, 2025.

  1. Stack

    Stack Membro Participativo

    Is there a way to prevent recasting the data from uint64 to int64?

    NumbaTypeSafetyWarning correctly foretells a datatype overflow


    C:\apps\mapFolding\.venv\Lib\site-packages\pandas\core\_numba\executor.py:82:
    NumbaTypeSafetyWarning: unsafe cast from uint64 to int64. Precision may be lost.
    na_positions = np.array(na_pos)

    Relevant code


    dictionaryCurveLocations: dict[int, int]

    datatypeCurveLocations = numpy.uint64
    datatypeDistinctCrossings = numpy.uint64

    dataframeAnalyzed = pandas.DataFrame({
    'analyzed': pandas.Series(name='analyzed'
    , data=list(dictionaryCurveLocations.keys())
    , dtype=datatypeCurveLocations)
    , 'distinctCrossings': pandas.Series(name='distinctCrossings'
    , data=list(dictionaryCurveLocations.values())
    , dtype=datatypeDistinctCrossings)
    }, dtype=datatypeCurveLocations
    )

    dataframeAnalyzed = dataframeAnalyzed.groupby('analyzed', sort=False)['distinctCrossings'
    ].aggregate('sum'
    , engine='numba'
    , engine_kwargs={'nogil': True, 'nopython': True, 'parallel': True}
    ).reset_index()

    Environment


    (.venv) C:\apps\mapFolding>py -VV
    Python 3.13.7 (tags/v3.13.7:bcee1c3, Aug 14 2025, 14:15:11) [MSC v.1944 64 bit (AMD64)]

    (.venv) C:\apps\mapFolding>pip show numba
    Name: numba
    Version: 0.61.2

    (.venv) C:\apps\mapFolding>pip show pandas
    Name: pandas
    Version: 2.3.2

    (.venv) C:\apps\mapFolding>ver

    Microsoft Windows [Version 10.0.26100.5074]

    Continue reading...

Compartilhe esta Página