Python vaex使用来自其他系列的掩码过滤数据帧
我想使用x系列中的掩码过滤掉vaex数据帧y。 我知道如何在熊猫和numpy中做到这一点。在熊猫中,它就像:Python vaex使用来自其他系列的掩码过滤数据帧,python,dataframe,vaex,Python,Dataframe,Vaex,我想使用x系列中的掩码过滤掉vaex数据帧y。 我知道如何在熊猫和numpy中做到这一点。在熊猫中,它就像: import pandas as pd a = [0,0,0,1,1,1,0,0,0] b = [4,5,7,8,9,9,0,6,4] x = pd.Series(a) y = pd.Series(b) print(y[x==1]) 结果是: 3 8 4 9 5 9 dtype: int64 但在vaex中,以下代码不起作用 import vaex impor
import pandas as pd
a = [0,0,0,1,1,1,0,0,0]
b = [4,5,7,8,9,9,0,6,4]
x = pd.Series(a)
y = pd.Series(b)
print(y[x==1])
结果是:
3 8
4 9
5 9
dtype: int64
但在vaex中,以下代码不起作用
import vaex
import numpy as np
a = np.array([0, 0, 0, 1, 1, 1, 0, 0, 0])
b = np.array([4, 5, 7, 8, 9, 9, 0, 6, 4])
x = vaex.from_arrays(x=a)
y = vaex.from_arrays(x=b)
print(y[x.x == 1].values)
结果为空:
[]
似乎vaex与pandas和numpy没有相同的索引概念。虽然两个数据帧的形状相同,但数组y不能使用掩码x.x==1
有没有办法达到熊猫喜欢的同等效果
感谢虽然Vaex的API与Pandas的API相似(命名类似的方法,做同样的事情),但这两个库的实现完全不同,因此不容易“混合和匹配” 为了处理任何类型的数据,该数据需要是同一Vaex数据帧的一部分 因此,为了实现你想要的,类似这样的事情是可能的:
导入vaex
将numpy作为np导入
a=np.array([0,0,0,1,1,1,0,0,0])
b=np.数组([4,5,7,8,9,9,0,6,4])
y=来自_阵列的变量(x1=b)
y、 添加_列(name='x2',f_或_数组=a)
打印(y[y.x2==1])