【问题标题】:Store NumPy Row and Column Headers存储 NumPy 行和列标题
【发布时间】:2011-04-26 19:59:00
【问题描述】:

我有一个 numpy 二维 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 方法可以做到这一点?

【问题讨论】:

  • @ogrisel 提到的肯定是熊猫。它的目标正是你正在做的事情。 pandas.pydata.org

标签: python numpy


【解决方案1】:

使用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)

【讨论】:

猜你喜欢
  • 2012-04-12
  • 2018-12-02
  • 2018-03-20
  • 2012-06-21
  • 2015-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多