Vaex: getValues / rows from a filtered dataframe



我正在尝试筛选一个数据帧,并获得符合筛选条件的行。我已经能够通过首先使用select函数,然后调用evaluate函数来获得值,从而从数据帧中获得第一个对象:

df.select( (df['mycol1'] == filter_val1) & (df['mycol2'] == filter_val2))
x_axis_name = df.evaluate(df['x_axis_name'], selection=True).chunk(0)[0]
x_axis_id = df.evaluate(df['x_axis_id'], selection=True)[0]
y_axis_id = df.evaluate(df['y_axis_id'], selection=True)[0]
y_axis_name = df.evaluate(df['y_axis_name'], selection=True).chunk(0)[0]

第一个问题:有没有比为每列调用evaluate更好的方法来获取行?

第二个问题:如何获得符合筛选条件的所有行的列表?

这是否适合您的用例:

df_filtered = df[(df['mycol1'] == filter_val1) & (df['mycol2'] == filter_val2)]

或者,如果你需要逐步构建一个用于过滤数据帧的表达式,你也可以这样做:

boolean_expression = df['mycol1'] == filter_val1) & (df['mycol2'] == filter_val2)
df_filtered = df.filter(boolean_expression)

相关内容

  • 没有找到相关文章

最新更新