如何解决vaex使用花药系列中的遮罩过滤数据框
我想使用x系列的遮罩过滤掉vaex数据框y。 我知道如何在pandas和numpy中执行此操作。在大熊猫中就像:
import pandas as pd
a = [0,1,0]
b = [4,5,7,8,9,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])
b = np.array([4,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具有与Pandas类似的API(名称相似的方法,它们执行相同的操作),但是两个库的实现完全不同,因此“混合和匹配”并不容易。
为了处理任何类型的数据,该数据必须属于同一Vaex数据框。
因此,为了实现您想要的目标,可能会发生以下情况:
import vaex
import numpy as np
a = np.array([0,1,0])
b = np.array([4,5,7,8,9,6,4])
y = vaex.from_arrays(x1=b)
y.add_column(name='x2',f_or_array=a)
print(y[y.x2 == 1])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。