熊猫时间戳与系列,具体取决于使用的索引



有人可以解释为什么会发生这种情况吗:

In [286]: type(df.date.ix[0])
Out[286]: pandas.tslib.Timestamp
In [287]: type(df.date.ix[[0]])
Out[287]: pandas.core.series.Series

In [285]: df.date.ix[[0]]
Out[285]: 0   2015-11-03 14:57:27
          Name: date, dtype: datetime64[ns]
In [283]: df.date.ix[0]
Out[283]: Timestamp('2015-11-03 14:57:27')

我想从我的 Pandas 数据帧中提取该特定元素作为datetime64[ns]类型对象。但这完全取决于我的索引是ndarray或只是integer的位置。如果它是一个ndarray,它返回一个datetime64对象,如果它是一个integer,它返回一个Timestamp对象。

当你将列表或数组传递给Series.ix时,pandas 假设你想切掉序列的一个子集,所以它返回一个系列,即使它只是一个元素。如果传入标量,它将假定您只需要该索引处的值。

您可以在文档中查看基于标签和基于位置的索引的更多示例。

对于您的第二个问题,如果ndarray有多个元素会发生什么?

最新更新