【问题标题】:Concatenate two pandas dataframes on a new axis在新轴上连接两个熊猫数据框
【发布时间】:2020-11-15 12:31:49
【问题描述】:

我有两个形状为 (d, w) 的 pandas 数据框,我需要将这两个数据框连接成一个形状为 (2, d, w)(甚至是 (d, 2, w))的新数据框。一种天真的方法是通过creating a zero-filled dataframe 使用正确的大小,然后替换这些值。但我想知道是否有更好的方法来做到这一点。 pandas.concatenate 似乎无法添加新轴。有没有其他的 pandas 功能呢?

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    DataFrame 本质上是二维的。可以将Panels 用于 3d 数据,但它们已被弃用,此时不应使用。 Pandas 文档建议现在为此使用xarray

    使用 xarray 从 DataFrames 构建一个 3d 数组如下所示:

    import pandas as pd
    import xarray as xr
    
    df1 = pd.DataFrame([[1,2],[3,4]])
    df2 = pd.DataFrame([[5,6],[7,8]])
    
    da = xr.DataArray([df1, df2])
    

    如果对您更有效,您还可以使用 MultiIndex 获取二维 DataFrame 的多维索引。

    【讨论】:

    • 不知道。谢谢。
    猜你喜欢
    • 2021-05-11
    • 2019-12-28
    • 2019-01-07
    • 2016-03-13
    • 2020-10-13
    • 1970-01-01
    • 2022-10-06
    • 2016-03-22
    相关资源
    最近更新 更多