#python #dataframe #vaex
Вопрос:
У меня есть большой файл со стрелками с 14 миллионами строк. В своем приложении я выбираю два столбца и связываю их с помощью функции count/binby в Vaex.
df.count(
binby=axes,
limits=limits,
shape=(binnum,)*len(axes),
delay=True
)
Некоторые из моих столбцов действуют как маска и имеют либо 0, либо 1. Вот пример
# x y mask
1 1.5 4.7 0
2 0.3 2.3 1
3 2.6 9.4 1
4 5.0 3.7 0
Я хочу связать точки на осях x и y, которые имеют только 1 в столбце маска. Как мне это сделать?
Комментарии:
1. Сработает ли что-то подобное
df.count(..., selection="mask==1")
?2. нет, это ошибка, которая существует и задокументирована здесь
3. Ах, конечно, но в этом вопросе есть больше деталей, чем в посте ОП здесь, связанных с методами гео, я полагаю. Без гео-материала ваш пример, как указано выше, должен сработать, я думаю.
Ответ №1:
Предполагая, что маска находится в одном и том же кадре данных, использование selection
kwarg должно работать:
import vaex
df = vaex.example()
df.count(binby=['x', 'y'], shape=(10,10), selection="id==0")