vaexio/vaex

[BUG-REPORT] Issue converting object to string

Open

#1 686 ouverte le 8 nov. 2021

Voir sur GitHub
 (4 commentaires) (0 réactions) (0 assignés)Python (591 forks)batch import
feature-requestgood first issuepriority: low

Métriques du dépôt

Stars
 (8 117 stars)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

Description

Description Trying to convert an "object" column to string fails.

Example code:

import vaex
import numpy as np

if __name__ == "__main__":
    arr = np.array([123, "test", None], dtype=object)
    df = vaex.from_arrays(test=arr)
    df['test'] = df['test'].astype('str')
    print(df.head())

Exception:

TypeError: to_string(): incompatible function arguments. The following argument types are supported:
    1. (arg0: numpy.ndarray[float32]) -> vaex.superstrings.StringList64
    2. (arg0: numpy.ndarray[float64]) -> vaex.superstrings.StringList64
    3. (arg0: numpy.ndarray[int64]) -> vaex.superstrings.StringList64
    4. (arg0: numpy.ndarray[int32]) -> vaex.superstrings.StringList64
    5. (arg0: numpy.ndarray[int16]) -> vaex.superstrings.StringList64
    6. (arg0: numpy.ndarray[int8]) -> vaex.superstrings.StringList64
    7. (arg0: numpy.ndarray[uint64]) -> vaex.superstrings.StringList64
    8. (arg0: numpy.ndarray[uint32]) -> vaex.superstrings.StringList64
    9. (arg0: numpy.ndarray[uint16]) -> vaex.superstrings.StringList64
    10. (arg0: numpy.ndarray[uint8]) -> vaex.superstrings.StringList64
    11. (arg0: numpy.ndarray[bool]) -> vaex.superstrings.StringList64
    12. (arg0: numpy.ndarray[float32], arg1: numpy.ndarray[bool]) -> vaex.superstrings.StringList64
    13. (arg0: numpy.ndarray[float64], arg1: numpy.ndarray[bool]) -> vaex.superstrings.StringList64
    14. (arg0: numpy.ndarray[int64], arg1: numpy.ndarray[bool]) -> vaex.superstrings.StringList64
    15. (arg0: numpy.ndarray[int32], arg1: numpy.ndarray[bool]) -> vaex.superstrings.StringList64
    16. (arg0: numpy.ndarray[int16], arg1: numpy.ndarray[bool]) -> vaex.superstrings.StringList64
    17. (arg0: numpy.ndarray[int8], arg1: numpy.ndarray[bool]) -> vaex.superstrings.StringList64
    18. (arg0: numpy.ndarray[uint64], arg1: numpy.ndarray[bool]) -> vaex.superstrings.StringList64
    19. (arg0: numpy.ndarray[uint32], arg1: numpy.ndarray[bool]) -> vaex.superstrings.StringList64
    20. (arg0: numpy.ndarray[uint16], arg1: numpy.ndarray[bool]) -> vaex.superstrings.StringList64
    21. (arg0: numpy.ndarray[uint8], arg1: numpy.ndarray[bool]) -> vaex.superstrings.StringList64
    22. (arg0: numpy.ndarray[bool], arg1: numpy.ndarray[bool]) -> vaex.superstrings.StringList64

Invoked with: array([123], dtype=object)

Process finished with exit code 0

Software information

  • Vaex version (import vaex; vaex.__version__):
{'vaex': '4.5.0', 'vaex-core': '4.6.0a5', 'vaex-viz': '0.5.0', 'vaex-hdf5': '0.10.0', 'vaex-server': '0.6.1', 'vaex-astro': '0.9.0', 'vaex-jupyter': '0.6.0', 'vaex-ml': '0.14.0', 'vaex-arrow': '0.4.2'}
  • Vaex was installed via: pip
  • OS: Ubuntu 20.04

Additional information This makes it impossible to perform an export to HDF5 or other operations that do not support the object type. This is especially blocking when loading CSV files. Should be relevant to #1568.

Guide contributeur