存储NumPy行和列标题

时间:2011-04-26 19:59:00

标签: python numpy

我有一个numpy 2维numpy数组,其中包含多个股票的每日股票价格。例如

daily_prices = np.array([  
    [4,3,3,1],  
    [5,4,3,6],  
    [6,3,2,7],  
    [3,9,7,4],  
    [8,4,6,3],  
    [8,3,3,9]])  

其中每行是不同的日期,每列是不同的库存。

我希望能够存储数组(或更合适的东西),股票的名称(如'MSFT','CSCO','GOOG','F')以及日期下来。

换句话说,我想像在电子表格中那样命名行和列。

是否有NumPythonic方法可以做到这一点?

1 个答案:

答案 0 :(得分:22)

使用structured array

import numpy as np

daily_prices = np.array(
    [
        (4,3,3,1),
        (5,4,3,6),
        (6,3,2,7),
        (3,9,7,4),
        (8,4,6,3),
        (8,3,3,9)],
    dtype=[('MSFT','float'),('CSCO','float'),('GOOG','float'),('F','float') ]
    )

这允许您访问如下列:

print(daily_prices['MSFT'])
# [ 4.  5.  6.  3.  8.  8.]

和这样的行:

print(daily_prices[2])
# (6.0, 3.0, 2.0, 7.0)