如何使用qPython和pandas从kdb服务器查询响应转换日期和时间?
我在kdb服务器回复中有转换日期和时间的问题 我在Internet和StackOverflow中搜索过,但找不到合适的解决方案。所以我需要帮助如何使用qPython和pandas从kdb服务器查询响应转换日期和时间?,python,pandas,datetime,kdb,Python,Pandas,Datetime,Kdb,我在kdb服务器回复中有转换日期和时间的问题 我在Internet和StackOverflow中搜索过,但找不到合适的解决方案。所以我需要帮助 from qpython import qconnection import pandas as pd from datetime import datetime query = 'select from trade where date = 2007.02.28, sym = `XXXX' q = qconnection.QConnection
from qpython import qconnection
import pandas as pd
from datetime import datetime
query = 'select from trade where date = 2007.02.28, sym = `XXXX'
q = qconnection.QConnection(host=server, port=server_port, username=user, password=server_password, timeout=server_timeout)
q.open()
df = pd.DataFrame(q.sendSync(query))
print(df.to_string())
q.close()
回复为(仅标题行和第一行):
如何转换日期和时间?现在我有2615个日期,必须是2007.02.28。时间也一样。它是15517877000000,而它应该是0D04:18:37.877000000。(最有可能的时间是0D,这是一个编码问题,如果需要的话,我会在以后解决。)。participantTime1和participantTime2也一样
提前感谢大家的时间。qPython软件包支持熊猫集成和自动时间类型转换,这将简化您的问题。你可以找到相关的 在实例化
QConnection
对象时,您需要对代码片段进行的唯一更改是将pandas
标志设置为True
:
q=qconnection.qconnection(主机=服务器,端口=服务器\端口,用户名=用户,
密码=服务器\密码,超时=服务器\超时,熊猫=真)
在这种情况下,您也不需要转换sendSync
的返回值,因为q表现在默认表示为数据帧:
df=q.sendSync(查询)
qPython包支持Pandas集成和自动时间类型转换,这将简化您的问题。你可以找到相关的
在实例化QConnection
对象时,您需要对代码片段进行的唯一更改是将pandas
标志设置为True
:
q=qconnection.qconnection(主机=服务器,端口=服务器\端口,用户名=用户,
密码=服务器\密码,超时=服务器\超时,熊猫=真)
在这种情况下,您也不需要转换sendSync
的返回值,因为q表现在默认表示为数据帧:
df=q.sendSync(查询)
您好,谢谢您的回答。它在日期和时间上有所帮助,但对于participantTime1、participantTime2和相应的豁免,它返回NaT、NaT和NaN。是这样吗?-9223372036854775808和-32768
分别是kdb+中null timespan和short数据类型的内部值,因此我希望在服务器上运行此查询也会为这些列返回null值。当pandas
标志设置为true时,空时间值将由NaT
表示,其他空值将由NaN
表示。这也包含在qPython中。您好,谢谢您的回答。它在日期和时间上有所帮助,但对于participantTime1、participantTime2和相应的豁免,它返回NaT、NaT和NaN。是这样吗?-9223372036854775808和-32768
分别是kdb+中null timespan和short数据类型的内部值,因此我希望在服务器上运行此查询也会为这些列返回null值。当pandas
标志设置为true时,空时间值将由NaT
表示,其他空值将由NaN
表示。qPython中也介绍了这一点。
date time ex sym cond size price stop corr seq src trpt participantTime1 rrn participantTime2 id exempt
0 2615 15517877000000 b'P' b'XXXX' b'T ' 500 27.670000 b' ' 0 1095 b'N' b' ' -9223372036854775808 b'' -9223372036854775808 b'' -32768