2016-05-14 37 views
0

下面是从我的NP阵列的一些数据:如何将这些数据转换为年份作为第一列?

[2002 675 456 111] 
[2003 682 472 101] 
[2004 731 497 129]] 

我想创建一个矩阵,其中第一列是列表年龄=范围(15,50)和第一行是今年(2002年, 2003,...)

+0

解决方案的第一部分 my_data = my_data.transpose() –

+0

第一个问题:我有更多的行在我有更多的行年龄比在NP阵列 –

回答

1

您可以使用csv模块或pandas库来执行该任务。但是,如果你想有一个快速测试也许你会发现这段代码有用:

data = np.asarray([[2002, 675, 456, 111], 
        [2003, 682, 472, 101], 
        [2004, 731, 497, 129]]) 
ages = np.arange(15, 50, dtype=data.dtype) 

arr = np.zeros((1 + ages.size, 1 + data.shape[0]), dtype=data.dtype) 
arr[0:data.shape[1], 1:] = data.T 
arr[1:, 0] = ages 

这是你会得到什么:

>>> arr 
array([[ 0, 2002, 2003, 2004], 
     [ 15, 675, 682, 731], 
     [ 16, 456, 472, 497], 
     [ 17, 111, 101, 129], 
     [ 18, 0, 0, 0], 
     [ 19, 0, 0, 0], 
     [ 20, 0, 0, 0], 
     ..., 
     [ 47, 0, 0, 0], 
     [ 48, 0, 0, 0], 
     [ 49, 0, 0, 0]]) 

希望这有助于

相关问题