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.

贡献者指南