有可能有一个三维记录阵列在纽比吗?(也许这是不可能的,或者有更简单的方法来做事情——我愿意接受其他选择)。在
假设我想要一个数组来保存3个变量的数据(比如temp,precip,hummy),每个变量的数据实际上是一个包含2年(行)和6个月数据(列)的二维数组,我可以这样创建:
>>> import numpy as np
>>> d = np.array(np.arange(3*2*6).reshape(3,2,6))
>>> d
#
# comments added for explanation...
# jan feb mar apr may Jun
array([[[ 0, 1, 2, 3, 4, 5], # yr1 temp
[ 6, 7, 8, 9, 10, 11]], # yr2 temp
[[12, 13, 14, 15, 16, 17], # yr1 precip
[18, 19, 20, 21, 22, 23]], # yr2 precip
[[24, 25, 26, 27, 28, 29], # yr1 humidity
[30, 31, 32, 33, 34, 35]]]) # yr2 humidity
我希望能够键入:
^{pr2}$得到这个(数据的第一页):
>>> array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]])
或者:
>>> d['Jan'] # assume months are Jan-June
拿着这个
>>> array([[0,6],
[12,18],
[24,30]])
我已经经历了很多次了:http://www.scipy.org/RecordArrays很多次,但不知道我是如何设置我要的。在
实际上,你可以用结构化数组来做类似的事情,但这通常会带来更多麻烦。在
你想要的基本上是标记轴。在
Pandas(构建在numpy之上)提供了您想要的内容,如果您想要这种类型的索引,这是一个更好的选择。还有Larry (for labeled array),但大部分都被熊猫取代了。在
另外,您应该查看结构化阵列的numpy文档来了解这方面的信息,而不是常见问题解答。numpy文档中有相当多的信息。http://docs.scipy.org/doc/numpy/user/basics.rec.html
如果您确实想采用纯numpy路径,请注意结构化数组可以包含多维数组。(在指定数据类型时请注意shape参数。)不过,这将很快变得更加复杂。在
在} 。不过,你应该先get familiar with ^{}s 。在
pandas
术语中,您需要的是^{以下是你如何对待熊猫:
相关问题 更多 >
编程相关推荐