更改 python 中数组的数据类型
Change datatype of array in python
我收到这个错误:
MemoryError: Unable to allocate array with shape (3000, 525571) and data type float64
对于此代码行:
Qday = Q.resample('D').sum()
在发生这种情况之前,我在另一行遇到了几乎相同的错误,但在那里我找到了解决方案:
Q = pd.DataFrame(Q_tmp, index=Th.index).astype(np.float32) #MemoryError!
float32 对我来说已经足够了,但我如何设置数组以使用这种类型?
或者我可以全局将默认值从 float64 更改为 float32 吗?
在 numpy 导入后使用此代码,它可以工作。 :-)
import numpy as np
_oldarray = np.array
def array32(*args, **kwargs):
if 'dtype' not in kwargs:
kwargs.update(dtype=float32)
_oldarray(*args, **kwargs)
np.array = _oldarray
我收到这个错误:
MemoryError: Unable to allocate array with shape (3000, 525571) and data type float64
对于此代码行:
Qday = Q.resample('D').sum()
在发生这种情况之前,我在另一行遇到了几乎相同的错误,但在那里我找到了解决方案:
Q = pd.DataFrame(Q_tmp, index=Th.index).astype(np.float32) #MemoryError!
float32 对我来说已经足够了,但我如何设置数组以使用这种类型?
或者我可以全局将默认值从 float64 更改为 float32 吗?
在 numpy 导入后使用此代码,它可以工作。 :-)
import numpy as np
_oldarray = np.array
def array32(*args, **kwargs):
if 'dtype' not in kwargs:
kwargs.update(dtype=float32)
_oldarray(*args, **kwargs)
np.array = _oldarray