You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对PyArrow ChunkedArray进行移位操作得到指定数组?

实现步骤与代码

我们可以通过展平数组、截取元素、拼接空值三个步骤得到目标数组,具体操作如下:

完整代码示例

import pyarrow as pa
ca = pa.chunked_array([[1,3, 2], [5, 2, 1]])

# 1. 展平分块数组为连续数组
flattened_arr = ca.flatten()
# 2. 去掉最后一个元素
trimmed_arr = flattened_arr[:-1]
# 3. 拼接开头的None值(保证类型兼容空值)
target_arr = pa.concat_arrays([pa.scalar(None, type=trimmed_arr.type), trimmed_arr])

print(target_arr)
# 输出结果:
# [
#   null,
#   1,
#   3,
#   2,
#   5,
#   2
# ]
# Int64Array

关键操作说明

  • 展平数组:ca.flatten()将分块数组合并为单个连续的Arrow数组,原分块数组展平后得到[1, 3, 2, 5, 2, 1]。
  • 截取元素:flattened_arr[:-1]直接截取除最后一个元素外的所有内容,得到[1, 3, 2, 5, 2]。
  • 拼接空值:先创建与目标数组类型匹配的空值标量,再用pa.concat_arrays()将空值和截取后的数组合并,确保最终数组类型支持空值且元素符合需求。

内容的提问来源于stack exchange,提问作者ignoring_gravity

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 06:24:57