0

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

例如:

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
4

1 回答 1

1

在这种特定情况下,您可以这样做df.a.values[0],但如果这是一个虚拟列,它将导致整个列被评估。什么会更快(比如说在> 1十亿行和一个虚拟列的情况下)是:

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

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

这相当笨拙,并且对此有一个问题:https ://github.com/vaexio/vaex/issues/238

也许您对 vaex 没有像这样“基本”的东西感到惊讶,但 vaex 通常用于非常大的数据集,您不会经常访问单个行,因此我们不会经常遇到这种情况。

于 2019-05-18T19:45:33.020 回答