首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用numpy转置数组中的数据

使用numpy转置数组中的数据
EN

Stack Overflow用户
提问于 2013-06-26 00:13:42
回答 1查看 103关注 0票数 2

我有如下列表,需要转换为numpy数组

代码语言:javascript
复制
samplelist= [  [ ['Name-1','Name-2','Name-3']            , ['Age-1','Age-2','Age-3'] ],
               [ ['new_Name_1','new_Name_2','new_Name_3'], ['new_Age_1','new_Age_2','new_Age_3'] ]
             ]

预期结果:

代码语言:javascript
复制
samplearray = [ [ ['Name-1','Age-1'],         ['Name-2','Age-2'],        ['Name-3','Age-3'] ],
                [ ['new_Name_1','new_Age_1],  ['new_Name_2','new_Age_2'], ['new_Name_3','new_Age_3'] ]
               ]

np.transpose结果:

代码语言:javascript
复制
np.transpose(a)
array([[['Name-1', 'new_Name_1'],
        ['Age-1', 'new_Age_1']],

       [['Name-2', 'new_Name_2'],
        ['Age-2', 'new_Age_2']],

       [['Name-3', 'new_Name_3'],
        ['Age-3', 'new_Age_3']]], 
      dtype='|S10')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-26 00:21:34

samplelist是一个三维数组。

代码语言:javascript
复制
In [58]: samplelist.shape
Out[58]: (2, 2, 3)

使用转置交换第一个和最后一个轴(0和2):

代码语言:javascript
复制
In [55]: samplelist.T
Out[55]: 
array([[['Name-1', 'new_Name_1'],
        ['Age-1', 'new_Age_1']],

       [['Name-2', 'new_Name_2'],
        ['Age-2', 'new_Age_2']],

       [['Name-3', 'new_Name_3'],
        ['Age-3', 'new_Age_3']]], 
      dtype='|S10')

In [57]: samplelist.swapaxes(0,2)
Out[57]: 
array([[['Name-1', 'new_Name_1'],
        ['Age-1', 'new_Age_1']],

       [['Name-2', 'new_Name_2'],
        ['Age-2', 'new_Age_2']],

       [['Name-3', 'new_Name_3'],
        ['Age-3', 'new_Age_3']]], 
      dtype='|S10')

要获得所需的阵列,请交换轴1和轴2:

代码语言:javascript
复制
import numpy as np
samplelist = np.array([
    [ ['Name-1','Name-2','Name-3']            , ['Age-1','Age-2','Age-3'] ],
    [ ['new_Name_1','new_Name_2','new_Name_3'], ['new_Age_1','new_Age_2','new_Age_3'] ]
    ])

print(samplelist.swapaxes(1,2))
# [[['Name-1' 'Age-1']
#   ['Name-2' 'Age-2']
#   ['Name-3' 'Age-3']]

#  [['new_Name_1' 'new_Age_1']
#   ['new_Name_2' 'new_Age_2']
#   ['new_Name_3' 'new_Age_3']]]
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17302369

复制
相关文章

相似问题

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