Pandas DatetimeIndex.weekday return 应该是索引还是 numpy 数组?
Should Pandas DatetimeIndex.weekday return an index or a numpy array?
我有一个 Pandas DatetimeIndex
对象(从数据帧的索引中获得),我需要每个元素的工作日。我已经 运行 在 Windows 上使用 Python 3.6.5
(64 位)并使用 Pandas 0.22.0
并获得一个 Int64Index
对象:
例如
In:
ts = pd.DatetimeIndex([['2013-01-01 00:00:00', '2013-01-01 00:30:00',
'2013-01-02 01:00:00', '2013-01-02 01:30:00',
'2013-01-03 02:00:00', '2013-01-03 02:30:00',
'2013-01-04 03:00:00', '2013-01-04 03:30:00',
'2013-01-05 04:00:00', '2013-01-05 04:30:00']])
ts.weekday
Out:
Int64Index([1, 1, 2, 2, 3, 3, 4, 4, 5, 5], dtype='int64')
我现在是 运行 pythonanywhere
上的脚本,其中包含 Python 3.6.0
和 Pandas 0.19.2
,结果是 return 数组:
In:
ts = pd.DatetimeIndex(['2013-01-01 00:00:00', '2013-01-01 00:30:00',
'2013-01-02 01:00:00', '2013-01-02 01:30:00',
'2013-01-03 02:00:00', '2013-01-03 02:30:00',
'2013-01-04 03:00:00', '2013-01-04 03:30:00',
'2013-01-05 04:00:00', '2013-01-05 04:30:00'])
ts.weekday
Out:
array([1, 1, 2, 2, 3, 3, 4, 4, 5, 5], dtype=int32)
是否可以在两个平台上将此代码写入 return 相同的结果(最好是 Index
对象)?
此行为在最近的更新中已更改为 return pd.Index
而不是数组。为了向后兼容,您始终可以根据需要将结果转换为 Int64Index
。
>>> pd.Index(ts.weekday, dtype=np.int64)
Int64Index([1, 1, 2, 2, 3, 3, 4, 4, 5, 5], dtype='int64')
我有一个 Pandas DatetimeIndex
对象(从数据帧的索引中获得),我需要每个元素的工作日。我已经 运行 在 Windows 上使用 Python 3.6.5
(64 位)并使用 Pandas 0.22.0
并获得一个 Int64Index
对象:
例如
In:
ts = pd.DatetimeIndex([['2013-01-01 00:00:00', '2013-01-01 00:30:00',
'2013-01-02 01:00:00', '2013-01-02 01:30:00',
'2013-01-03 02:00:00', '2013-01-03 02:30:00',
'2013-01-04 03:00:00', '2013-01-04 03:30:00',
'2013-01-05 04:00:00', '2013-01-05 04:30:00']])
ts.weekday
Out:
Int64Index([1, 1, 2, 2, 3, 3, 4, 4, 5, 5], dtype='int64')
我现在是 运行 pythonanywhere
上的脚本,其中包含 Python 3.6.0
和 Pandas 0.19.2
,结果是 return 数组:
In:
ts = pd.DatetimeIndex(['2013-01-01 00:00:00', '2013-01-01 00:30:00',
'2013-01-02 01:00:00', '2013-01-02 01:30:00',
'2013-01-03 02:00:00', '2013-01-03 02:30:00',
'2013-01-04 03:00:00', '2013-01-04 03:30:00',
'2013-01-05 04:00:00', '2013-01-05 04:30:00'])
ts.weekday
Out:
array([1, 1, 2, 2, 3, 3, 4, 4, 5, 5], dtype=int32)
是否可以在两个平台上将此代码写入 return 相同的结果(最好是 Index
对象)?
此行为在最近的更新中已更改为 return pd.Index
而不是数组。为了向后兼容,您始终可以根据需要将结果转换为 Int64Index
。
>>> pd.Index(ts.weekday, dtype=np.int64)
Int64Index([1, 1, 2, 2, 3, 3, 4, 4, 5, 5], dtype='int64')