我想提取一个变量"时间";从名为"filename. CDF"的CDF文件。为此,我使用了以下代码:
import numpy as np
from spacepy import pycdf
data = pycdf.CDF('filename.cdf')
e1 = np.array(data['time']);
e2 = np.hstack([time, e1]) if time.size else e1
变量"time"是5529600。当我执行e1
和e2
时,花了很多时间。
处理如此庞大的数据集的正确方法是什么?
假设不是因为内存不足,这可以解释数组分配缓慢的原因。我建议指定数组的dtype,以避免被推断的代价:
e1 = np.array(data['time'], dtype=np.float32);
或
e1 = np.array(data['time'], dtype=np.int64);
取决于你想要的数字类型。