как можно получить доступ к конкретной ячейке в кадре данных vaex?

vaex - это библиотека, похожая на pandas, которая предоставляет класс фрейма данных. Я ищу способ доступа к определенной ячейке по строке и столбцу.

Например:

import vaex
df = vaex.from_dict({'a': [1,2,3], 'b': [4,5,6]})
df.a[0] # this works in pandas but not in vaex

person Ophir Yoktan    schedule 08.05.2019    source источник


Ответы (1)


В этом конкретном случае вы можете сделать df.a.values[0], но если бы это был виртуальный столбец, это привело бы к оценке всего столбца. Что было бы быстрее сделать (скажем, в случае> 1 миллиарда строк и виртуального столбца), так это сделать:

df['r'] = df.a + df.b
df.evaluate('r', i1=2, i2=3)[0]

Это оценит виртуальный столбец / выражение r от строки 2 до 3 (массив длиной 1) и получит первый элемент.

Это довольно неуклюже, и здесь есть проблема: https://github.com/vaexio/vaex/issues/238

Возможно, вы удивитесь, что в vaex нет чего-то столь же «простого», как этот, но vaex часто используется для действительно больших наборов данных, где вы не так часто обращаетесь к отдельным строкам, поэтому мы не часто сталкиваемся с этим.

person Maarten Breddels    schedule 18.05.2019