栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

pandas.Panel弃用警告实际上建议什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pandas.Panel弃用警告实际上建议什么?

考虑以下面板:

data = np.random.randint(1, 10, (5, 3, 2))pnl = pd.Panel(    data,     items=['item {}'.format(i) for i in range(1, 6)],     major_axis=[2015, 2016, 2017],     minor_axis=['US', 'UK'])

如果将其转换为Dataframe,它将变为:

  item 1  item 2  item 3  item 4  item 5major minor       2015  US          9       6       3       2       5      UK          8       3       7       7       92016  US          7       7       8       7       5      UK          9       1       9       9       12017  US          1       8       1       3       1      UK          6       8       8       1       6

因此,它将长轴和短轴作为行MultiIndex,将项目作为列。形状变为原来的(5,3,2)(6,5)。由您决定在哪里使用MultiIndex,但是如果您想要完全相同的形状,则可以执行以下操作:

data = data.reshape(5, 6).Tdf = pd.Dataframe(    data=data,    index=pd.MultiIndex.from_product([[2015, 2016, 2017], ['US', 'UK']]),    columns=['item {}'.format(i) for i in range(1, 6)])

产生相同的Dataframe(如果要命名索引,请使用

names
参数
pd.MultiIndex.from_product
):

         item 1  item 2  item 3  item 4  item 52015 US       9       6       3       2       5     UK       8       3       7       7       92016 US       7       7       8       7       5     UK       9       1       9       9       12017 US       1       8       1       3       1     UK       6       8       8       1       6

现在

pnl['item1 1']
,您可以使用,而不是,
df['item 1']
(可选
df['item1'].unstack()
);而不是
pnl.xs(2015)
使用
df.xs(2015)
和替代
pnl.xs('US',axis='minor')
,您可以使用
df.xs('US', level=1)

如您所见,这只是将您最初的3D numpy数组重塑为2D的问题。您可以在MultiIndex的帮助下添加其他(人工)维度。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/653130.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号