首页 > 解决方案 > Vaex 错误:AttributeError:“pyarrow.lib.ChunkedArray”对象没有属性“dtype”

问题描述

我在 python 中使用 vaex 并且很难打印列的值。如果我从本地数据创建一个数据框,它可以工作:

df = vaex.from_arrays(x=[1, 2, 3], y=[2, 3, 4])
df['inside'] = df.geo.inside_polygon(df2['x'], df2['y'], px, py)
print('col values: ' + str(df['inside'].values))

当我尝试从存储为全局变量的数据帧(从具有 1400 万行的文件)中打印列时,出现错误,AttributeError: 'pyarrow.lib.ChunkedArray' object has no attribute 'dtype'我可以使用以下命令打印数据帧:

print('v: ' + str(df))

df 的对象类型的两种方式都是<class 'vaex.dataframe.DataFrameLocal'>

为什么从文件加载而不是在本地创建数据时会出现此错误?

标签: pythonvaex

解决方案


好像您df2在代码中引用了 a 。

这对我来说运行良好 vaex 4.8.0

import vaex
import numpy as np

px = np.array([1.5, 2.5, 2.5, 1.5])
py = np.array([2.5, 2.5, 3.5, 3.5])
df = vaex.from_arrays(x=[1, 2, 3], y=[2, 3, 4])
df['inside'] = df.geo.inside_polygon(df['x'], df['y'], px, py)
print('col values: ' + str(df['inside'].values))


推荐阅读