【发布时间】:2018-07-07 00:38:33
【问题描述】:
我有一个使用 pandas 面板生成 MultiIndex pandas DataFrames 的包。但是,每当我使用 pandas.Panel 时,都会收到以下 DeprecationError:
弃用警告: 面板已弃用,将在未来版本中删除。 表示这些类型的 3 维数据的推荐方法是通过 Panel.to_frame() 方法在 DataFrame 上使用 MultiIndex。 或者,您可以使用 xarray 包 http://xarray.pydata.org/en/stable/。 Pandas 提供了一个
.to_xarray()方法来帮助自动完成这种转换。
但是,为了创建 MultiIndex DataFrame,我无法理解这里的第一个建议实际上是在推荐什么。如果要删除 Panel,我将如何使用 Panel.to_frame?
澄清一下:我不是在问什么是弃用,或者如何将我的面板转换为 DataFrame。我要问的是,如果我在库中使用 pandas.Panel 然后 pandas.Panel.to_frame 从 3D ndarrays 创建 MultiIndex DataFrames,并且 Panels 将被弃用,那么制作这些 DataFrames 的最佳选择是什么?使用 Panel API?
例如,如果我正在执行以下操作,将 X 作为形状为 (N,J,K) 的 ndarray:
p = pd.Panel(X, items=item_names, major_axis=names0, minor_axis=names1)
df = p.to_frame()
这显然不再是一个可行的面向未来的 DataFrame 构造选项,尽管它是 this question 中推荐的方法。
【问题讨论】:
-
如果您现在
Panel.to_frame(),您将不再拥有任何面板数据? -
这是一个包,而不是一个特定的数据集。当 Panel 被弃用时,初始的 Panel 生成将无法正常工作。
-
我在问为什么这里推荐的替代方法是使用一种将被弃用的方法,尽管看起来我现在从 cmets 那里得到了答案。
-
你在构建使用面板的API吗?或者你是在调用一些返回面板的代码吗?
-
我已经在问题中澄清了这一点,抱歉 - 我都是从 3D ndarray 生成面板,然后将其转换为 DataFrame。
标签: python pandas numpy dataframe python-xarray