如何计算Pyarrow数组中的唯一值数量?
我有一个pyarrow int32
包含我从兽人文件中获得的18个块:
import pyarrow.dataset
import pyarrow.compute
t = pyarrow.dataset.dataset("my/orc/file", format="orc").to_table()
a = t.column("a_column")
print(type(a))
print(a.num_chunks)
print(a.type)
<class 'pyarrow.lib.ChunkedArray'>
18
int32
我想计算列中唯一值的数量。对于 count_distinct :
>>> print(pyarrow.compute.count_distinct(a))
36
然而, unique()
表示只有两个非零值:
>>> print(pyarrow.compute.unique(a))
[
null,
100,
250
]
建议在块上求和,建议 count_distinct()
。这是预期的行为吗?获取数组中非null值数量的正确方法是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论