相关疑难解决方法(0)

在datetime,Timestamp和datetime64之间转换

如何将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 …

python datetime numpy pandas

256
推荐指数
8
解决办法
35万
查看次数

如何从sqlite读取datetime作为日期时间而不是Python中的字符串?

我正在使用Python 2.6.4中的sqlite3模块在SQLite数据库中存储日期时间.插入它非常简单,因为sqlite会自动将日期转换为字符串.问题是,当它读取它时它会以字符串形式返回,但我需要重建原始日期时间对象.我该怎么做呢?

python sqlite datetime

62
推荐指数
2
解决办法
5万
查看次数

通过主键将Pandas数据帧附加到sqlite表

我想将Pandas数据帧附加到名为"NewTable"的sqlite数据库中的现有表中.NewTable有三个字段(ID,Name,Age),ID是主键.我的数据库连接:

import sqlite3
DB='<path>'
conn = sqlite3.connect(DB)  
Run Code Online (Sandbox Code Playgroud)

我要附加的数据框:

test=pd.DataFrame(columns=['ID','Name','Age'])
test.loc[0,:]='L1','John',17  
test.loc[1,:]='L11','Joe',30  
Run Code Online (Sandbox Code Playgroud)

如上所述,ID是NewTable中的主键.键'L1'已经在NewTable中,但键'L11'不在.我尝试将数据框附加到NewT​​able.

from pandas.io import sql 
sql.write_frame(test,name='NewTable',con=conn,if_exists='append')
Run Code Online (Sandbox Code Playgroud)

这会引发错误:

IntegrityError: column ID is not unique
Run Code Online (Sandbox Code Playgroud)

错误可能是键'L1'已经在NewTable中.数据框中的任何条目都不会附加到NewT​​able.但是,我可以毫无问题地将具有新密钥的数据帧附加到NewT​​able.

是否有一种简单的方法(例如,没有循环)将Pandas数据帧附加到sqlite表,以便附加数据帧中的新键,但表中已存在的键不是?

谢谢.

python sqlite pandas

12
推荐指数
1
解决办法
6731
查看次数

标签 统计

python ×3

datetime ×2

pandas ×2

sqlite ×2

numpy ×1