Jeśli mam numpy dtype, w jaki sposób automatycznie przekonwertować go na najbliższy typ danych Pythona? Na przykład,Konwersja numpy dtypes na rodzime typy pythonów
numpy.float32 -> "python float"
numpy.float64 -> "python float"
numpy.uint32 -> "python int"
numpy.int16 -> "python int"
mógłbym spróbować wymyślić mapowanie wszystkich tych przypadkach, ale nie numpy zapewnić pewne automatyczny sposób konwertowania jego dtypes w najbliższych możliwych rodzimych typów Pythona? To odwzorowanie nie musi być wyczerpujące, ale powinno przekonwertować wspólne dtypes, które mają bliskiego pythonowego odpowiednika. Myślę, że to już zdarza się gdzieś w numpy.
Podaję ten rodzaj rozwiązania jako możliwość na końcu mojego pytania. Ale szukam rozwiązania systemowego, a nie twardego, które obejmuje tylko kilka przypadków. Na przykład, jeśli numpy doda więcej dtypów w przyszłości, twoje rozwiązanie zostanie przerwane.Nie jestem zadowolony z tego rozwiązania. – conradlee
Liczba możliwych dtypów jest nieograniczona. Rozważmy 'np.dtype ('mint8')' dla dowolnej liczby całkowitej dodatniej 'm'. Nie może istnieć wyczerpujące mapowanie. (Nie wierzę też, że istnieje funkcja wbudowana do wykonania tej konwersji dla ciebie. Mógłbym się mylić, ale nie sądzę) :)) – unutbu
Python mapuje numpy dtypes do typów Pythona, nie jestem pewien jak, ale Chciałbym użyć dowolnej metody. Myślę, że to musi się zdarzyć, aby pozwolić, na przykład, na mnożenie (i inne operacje) między numpy dtypes i typami Pythona. Sądzę, że ich metoda nie mapuje w sposób wyczerpujący wszystkich możliwych typów numpy, ale przynajmniej te najczęstsze, w których ma to sens. – conradlee