acr*_*bia 5 python numpy pandas datetime64
我似乎无法使用numpy.digitize来处理datetime64:
date_bins = np.array([np.datetime64(datetime.datetime(2014, n, 1), 's') for n in range(1,13)])
np.digitize(date_bins, date_bins)
Run Code Online (Sandbox Code Playgroud)
它给出以下错误:
TypeError: Cannot cast array data from dtype('<M8[s]') to dtype('float64') according to the rule 'safe'
Run Code Online (Sandbox Code Playgroud)
这是预期的行为吗?
得到i8的视图datetime值:
>>> date_bins_i8 = date_bins.view('i8')
>>> np.digitize(date_bins_i8, date_bins_i8)
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
Run Code Online (Sandbox Code Playgroud)
i8是64位整数数据类型,并view构造数组内存的视图。
| 归档时间: |
|
| 查看次数: |
972 次 |
| 最近记录: |