Инициализировать столбец фрейма данных Vaex значением

Я хочу инициализировать столбец моего фрейма данных vaex значением int 0

Имею следующее:

right_csv = "animal_data.csv"

vaex_df = vaex.open(right_csv,dtype='object',convert=True)

vaex_df["initial_color"] = 0

Но это вызовет ошибку для строки 3 с жалобой на то, что vaex ожидал выражение str и вместо этого получил целое число.
Как мне сделать так, чтобы выражение vaex устанавливало для каждой строки столбца одно значение?


person DNS_Jeezus    schedule 03.06.2020    source источник


Ответы (1)


Хороший вопрос, сейчас самый эффективный способ использования памяти (vaex-core v2.0.2, vaex v3):

df['test'] = vaex.vrange(0, len(df))  # add a 'virtual range' column, which takes no memory
df['test'] = df['test']* 0 + 111  # multiply by zero, and add the initial value

Вероятно, у нас должен быть более удобный способ сделать это, я открыл https://github.com/vaexio/vaex/issues/802 для этого.

person Maarten Breddels    schedule 04.06.2020