Magic ETL

Magic ETL

Domo Python error

Contributor

i am using the python tile in domo magic etl

i am trying to cast a column to a category

but when i try and read the dataframe to the write_dataframe i get an error



# Import the domomagic package into the script 

from domomagic import *



# read data from inputs into a data frame

raw = read_dataframe('Source 2')


#print('Before Cast')

#print(raw.dtypes)

#cast to correct dtypes to save space

raw = raw.astype({'VEEVA Entity ID': 'category'}, errors='raise') 


print(type(raw))

write_dataframe(raw)


The error i get is has anyone else had a similar issue. it seems like domo specific outside of domo in pure python the code works.

  1. Traceback (most recent call last):
  2. 00:00:10.604 File "<stdin>", line 25, in <module>
  3. 00:00:10.606 File "/home/domo/domomagic/io.py", line 46, in write_dataframe
  4. 00:00:10.606 write_array_dict(d)
  5. 00:00:10.606 File "/home/domo/domomagic/io.py", line 59, in write_array_dict
  6. 00:00:10.606 raise ValueError('domomagic: Array dict values must be numpy.ndarrays')
  7. 00:00:10.606 ValueError: domomagic: Array dict values must be numpy.ndarrays


Tagged:

Comments

  • Try converting the series itself as a category:

    1. raw['VEEVA Entity ID'] = raw['VEEVA Entity ID'].astype('category', errors='raise')
    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • Contributor

    raw['VEEVA Entity ID'] = raw['VEEVA Entity ID'].astype('category', errors='raise')

    does not work but

    raw['VEEVA Entity ID'] = raw['VEEVA Entity ID'].astype(str, errors='raise')

    does work

    leads me to believe

    some sort of problem between numpy datatype and a dataframe datatype


    this happens on the write_dataframe(raw) some sort of bug from the looks of it .

    it doesn't matter we will recreate the dataflow in adrenaline

Welcome!

It looks like you're new here. Members get access to exclusive content, events, rewards, and more. Sign in or register to get started.
Sign In