我有一个非常大的矩阵,每行有X行,每行10,000或1列。类似的东西:
[[0, 1, 2, ..., 9999],
[10000, 10001, ..., 19999],
[20000],
[20001, 20002, ..., 30000]]
我希望能够对这些列进行总结,例如[50001, 50004, ..., 79998]
但我认为我不能创建numpy.array
或pandas.DataFrame
来容纳这一点,而不会重复20000
值10,000次。
我目前已经攻击了pandas
的解决方案,但我希望有更好的方法。
我的pandas
“解决方案”是使用包含python list
s的单个列或单个值(我似乎无法使用numpy.array
或{{1假设我试图在多个索引中设置这些值)。以下是我的jank解决方案的上述内容:
pandas
DataFrame
value
0: [0, 1, 2, ..., 9999]
1: [10000, 10001, ..., 19999]
2: 20000
3: [20001, 20002, ..., 30000]
这非常难看,但允许索引2的单个值的内存效率。
使用df['value'].agg(lambda vs: np.array(vs.apply(np.array).sum()).tolist())
或numpy
执行此操作是否更容易出错?或者这样做的方法是,如果选择重复单个值,则不会破坏我机器上的内存。
由于