有人可以解释为什么会发生这种情况:
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 DataFrame中将该特定元素作为datetime64[ns]
类型对象提取。但这完全取决于我的索引在ndarray
或integer
的位置。如果它是ndarray
,则会返回datetime64
个对象,如果它是integer
,则会返回Timestamp
个对象。
答案 0 :(得分:0)
当您将列表或数组传递给Series.ix
时,pandas假设您要切出系列的子集,以便返回一个系列,即使它只是一个元素。如果你传入一个标量,它会假设你只想要那个索引的值。
您可以在文档中的label based和positional based索引处查看更多示例。
关于第二个问题,如果ndarray
有多个元素,会发生什么?