vaexio/vaex

[BUG-REPORT] Issue converting object to string

Open

#1,686 建立於 2021年11月8日

在 GitHub 查看
 (4 留言) (0 反應) (0 負責人)Python (591 fork)batch import
feature-requestgood first issuepriority: low

倉庫指標

Star
 (8,117 star)
PR 合併指標
 (30 天內沒有已合併 PR)

描述

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.

貢獻者指南