如何在vaex数据帧中访问特定单元格?

时间:2019-05-08 11:04:58

标签: python vaex

vaex是类似于pandas的库,它提供了dataframe类 我正在寻找一种按行和按列访问特定单元格的方法

例如:

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

1 个答案:

答案 0 :(得分:1)

在这种特定情况下,您可以执行df.a.values[0],但是如果这是一个虚拟列,则会导致整个列都被评估。要做的更快(例如,在1个Billon行和一个虚拟列的情况下)是:

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

这将评估从第2行到第3行(长度为1的数组)的虚拟列/表达式r,并获得第一个元素。

这很笨拙,并且存在一个与此有关的问题:https://github.com/vaexio/vaex/issues/238

也许让您感到惊讶的是,vaex并不具有这样的“基本”功能,但是vaex通常用于非常大的数据集,因为您不经常访问单个行,因此我们不会遇到这种情况很多。