什么是 pyarrow table?它会替代 pandas 数据帧吗?

What is a pyarrow table? Will it be a replacement for pandas dataframes?

我已经尝试阅读文档,但我仍然感到困惑。 pyarrow 表是否能够执行 groupbys 并具有所有精彩的 pandas 功能?

import pyarrow as pa
import pandas as pd
df = pd.DataFrame({"a": [1, 2, 3]})
table = pa.Table.from_pandas(df)

但现在是虎头蛇尾:

table["a"]
# ---------------------------------------------------------------------------
# TypeError                                 Traceback (most recent call last)
# <ipython-input-18-fb884245e2de> in <module>()
# ----> 1 table["a"]
# table.pxi in pyarrow.lib.Table.__getitem__()
# TypeError: an integer is required
table[0]
# <pyarrow.lib.Column object at 0x111306330>
# chunk 0: <pyarrow.lib.Int64Array object at 0x11728d1d8>
# [
# 1,
# 2,
# 3
# ]

c = table[0]
c[c>2]
# ---------------------------------------------------------------------------
# TypeError                                 Traceback (most recent call last)
# <ipython-input-16-cc54312229de> in <module>()
# ----> 1 c[c>2]
# 
# TypeError: '>' not supported between instances of 'pyarrow.lib.Column' and 'int'

pyarrow 是一个更适合 pandas 内部结构的库还是什么?

是的,pyarrow 是一个用于构建内部数据框架(和其他数据处理应用程序)的库。它不是像 pandas 这样的最终用户库。如果您想进一步讨论,请写信到 Apache Arrow 邮件列表。