【发布时间】:2016-02-26 17:20:12
【问题描述】:
我已经尝试了一段时间,但到目前为止收效甚微。我在 python 中有一个大的(> 400,000 个数据点)二维数组。数组本身可以根据日期 (dd\mm\yyyy) 拆分为一系列较小的行。
为了实现我的最终目标,我想做的一件事是将一个 numpy.ndarray(类似于下面可以看到的,但显然更大)变成一个键字典(一个用于月)和相应的数组(由每个特定日期的所有原始数组数据组成)。
[['16/06/2015 00:00' 'card' 'Smith' 'John' 'Full Time']
['16/06/2015 00:00' 'card' 'Doe' 'Jane' 'Part Time']
['17/07/2015 00:00' 'card' 'Doe' 'Jane' 'Part Time']
['18/06/2015 00:00' 'card' 'Smith' 'John' 'Full Time']
['30/06/2015 00:00' 'card' 'Bob' 'Roberts' 'Full Time']
['30/06/2015 00:00' 'card' 'Smith' 'John' 'Full Time']
['30/06/2015 00:00' 'card' 'Bob' 'Roberts' 'Full Time']]
我不确定如何让上面的数组以与我正在导入的相同的代码格式显示,但正如我所提到的,它应该显示为 numpy.ndarray。
我有代码,您可以在下面看到,它返回错误“索引错误:用作索引的数组必须是整数(或布尔)类型”,这是一个问题,因为我拥有的数据是由字符串组成的.
Array1 = np.genfromtxt('PATH', delimiter="\t", dtype=(str))
y = {}
for row in Array1:
v = Array1[row[1:]]
k = row[0]
y[k]=v
如果您需要更多信息,请尽管询问,我会尽力提供所需的任何信息。我对这一切都很陌生。
【问题讨论】:
-
'16/06/2015 00:00' 'card' 'Smith' 'John' 'Full Time'计算为单个字符串'16/06/2015 00:00cardSmithJohnFull Time'。是否考虑到这一点? -
当我从文本生成数组时,'delimiter="\t"' 是否应该考虑到这一点?
-
@TigerhawkT3,这是一个 numpy 数组,所以它不是单个字符串
-
好的;不确定它是 numpy 结构、纯 Python 结构还是伪代码。
-
@TigerhawkT3,
Array1 = np.genfromtxt(........
标签: python arrays numpy dictionary