使用pandas.io.sql.read_frame,我可以像read_csv中那样解析_dates吗



我使用pandas.io.sql.read_frame:直接从数据库读取data_frame

cnx = pandas.io.sql.connect(host='srv',user='me',password='pw',database='db')
df = pandas.io.sql.read_frame('sql_query',cnx)

它可以很好地检索数据。但我想将其中一列解析为datetime64,类似于从CSV文件读取时可以执行的操作,例如:

df2 = pandas.io.read_csv(csv_file, parse_dates=[0])

但是对于read_frame没有parse_dates标志。建议采用哪种替代方法?

同样的问题也适用于read_csv中的index_col,它指示哪个col.应该是索引。有没有推荐使用read_frame的方法?

这个问题现在已经很老了。熊猫0.10也很老。在pandas 0.16的最新版本中,read_frame方法被降级为read_sql。即便如此,文档中说,就像read_csv函数一样,它采用parse_dates参数Pandas 0.16 read_frame

parse_dates参数似乎出现在0.14中,同时read_frame被取消了条件。read_sql函数似乎是对read_frame的重命名,因此只要将pandas版本更新到0.14或更高版本并重命名函数,就可以访问此参数。这是read_sql函数的文档:Pandas 0.16 read_sql

data_frame["column"] = pandas.to_datetime(data_frame["column"])

默认情况下应该工作,但如果不工作,则可以指定选项。请参阅文档。

df = pandas.io.sql.read_frame('sql_query', index=['date_column_name'], con=cnx)

其中date_column_name是数据库中包含日期元素的列的名称。sql_query的形式应该是select date_column_name, data_column_name from ...

如果它类似于日期字符串,Pandas(0.13+(将自动将其解析为日期格式。

In [34]: df.index
Out[34]: 
    <class 'pandas.tseries.index.DatetimeIndex'>

相关内容

  • 没有找到相关文章

最新更新