如何将numpy.datetime64对象转换为datetime.datetime(或Timestamp)?
在以下代码中,我创建了datetime,timestamp和datetime64对象.
import datetime
import numpy as np
import pandas as pd
dt = datetime.datetime(2012, 5, 1)
# A strange way to extract a Timestamp object, there's surely a better way?
ts = pd.DatetimeIndex([dt])[0]
dt64 = np.datetime64(dt)
In [7]: dt
Out[7]: datetime.datetime(2012, 5, 1, 0, 0)
In [8]: ts
Out[8]: <Timestamp: 2012-05-01 00:00:00>
In [9]: dt64
Out[9]: numpy.datetime64('2012-05-01T01:00:00.000000+0100')
Run Code Online (Sandbox Code Playgroud)
注意:从时间戳中获取日期时间很容易:
In [10]: ts.to_datetime()
Out[10]: datetime.datetime(2012, 5, 1, 0, 0)
Run Code Online (Sandbox Code Playgroud)
但是我们如何从()中提取datetime或者?Timestampnumpy.datetime64dt64 …
当试图将浮点格式的时间戳1437506779950.0转换为日期时间对象时,我得到一个ValueError"年份超出范围".
我使用过的这段代码,工作时间不是3个月前.现在重新审视它,奇怪的是现在抛出这个错误但代码库中没有任何内容发生了变化,只有传递给它的数据,以及唯一已经改变的数据显然是时间戳.
>>> f = 1437506779950.0
>>> datetime.datetime.fromtimestamp(float(f))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: year is out of range
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么会有这些突破?
如何在字段数组中添加数据框行就像我有我的数据框。
import pandas as pd
inp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}]
df = pd.DataFrame(inp)
print df
Run Code Online (Sandbox Code Playgroud)
输出:
c1 c2
0 10 100
1 11 110
2 12 120
Run Code Online (Sandbox Code Playgroud)
所以我想要这样的东西:
{
"fields": {
"c1": 10,
"c2": 100,
}
},
{
"fields": {
"c1": 11,
"c2": 110,
}
},
{
"fields": {
"c1": 12,
"c2": 120,
}
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做 ?