首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自多索引pandas.DataFrame的多维numpy.ndarray

来自多索引pandas.DataFrame的多维numpy.ndarray
EN

Stack Overflow用户
提问于 2020-01-28 01:19:41
回答 1查看 31关注 0票数 0

我想从一个多索引的pandas.DataFrame生成一个三维numpy.ndarray。更准确地说,假设我有:

代码语言:javascript
复制
df = pd.DataFrame([[1, '1' , 1, 10], [1, '2', 2, 20], [2, '1', 5, 30]], columns=['x', 'y', 'z', 't'])
df = df.set_index(['x','y'])
df

这给了我

代码语言:javascript
复制
        z  t
  x  y
  1  1  1 10
     2  2 20
  2  1  5 30

我想写一个函数,用上面的参数返回numpy.ndarray

代码语言:javascript
复制
  [[[1, 10],
    [2, 20]],
   [[5, 30],
    [NaN, NaN]]]

Pandas多索引看起来像是多维数组的替代品,但它不提供(或至少不提供文档)来回切换的方法……

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-28 03:22:16

使用:

代码语言:javascript
复制
df.to_xarray().to_array().values.transpose(1,2,0)

>>[[[ 1. 10.]
  [ 2. 20.]]

 [[ 5. 30.]
  [nan nan]]]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59935954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档