2014-01-14 71 views
1

我想创建一个熊猫系列对象与时间戳字段start如何在Pandas.Series中添加时间戳?

a = pd.Series(index=['preceding_id', 'file', 'start'], dtype=[np.int, np.str, np.datetime64],) 

失败了

TypeError: data type not understood 

有人可以解释我什么,我做错了什么?
我一直在熊猫寻找日期和日期时间对象,但文档只说如何使用它作为索引 - 这不是我想要的...

谢谢!

回答

4

A系列只能有一种数据类型。如果你想在一个系列中存储多种类型,系列的类型将是object,即通用Python类型。

In [12]: Series([1, 'some string', pd.to_datetime('2014-01-01')]) 
Out[12]: 
0      1 
1   some string 
2 2014-01-01 00:00:00 
dtype: object 

这是没有问题的。组成元素的类型被保留。例如,上面的系列中的时间戳仍然是一个时间戳,正如我们通过访问它可以看到的。

In [13]: Series([1, 'some string', pd.to_datetime('2014-01-01')])[2] 
Out[13]: Timestamp('2014-01-01 00:00:00', tz=None) 

因此,总之,不要指定数据类型。一般来说,没有你的帮助,他们会得到妥善处理。

0

你确定你不想要数据框吗?

如果是这样,它看起来是这样的:

或者,如果你是在从文件或东西读取数据,你可以很容易地使用parse_dates=True大多数大熊猫的I/O功能。实际上,熊猫分配正确的dtype本质上是非常棒的。

+0

是的 - 最终我想要一个DataFrame。我想过有一个像电子表格/数据框一样的东西,然后在给定的事件上添加一行/系列。由于我没有设法使单行工作,我没有尝试DataFrame。 – asPlankBridge