问题描述
我正在将数据捕获到数据框中。然后,我设置了一些字段 .astype('object')。我发现的是,如果我然后执行 .sqldf('select * from df...",..) ,结果字段将重置为 .sqldf 认为它们应该是的任何类型。
为什么?
示例原始数据框:
+--------------------------------------------------------------------------------------------------------------------------------+
| detailed solution |
+---------+----------------------+-----------------------+-----------------+-----------------+-----------------+-----------------+
| route | vehicle | activity | job | arrTime | endTime | costs |
+---------+----------------------+-----------------------+-----------------+-----------------+-----------------+-----------------+
| 1 | V-1 | start | - | undef | 0 | 0 |
| 1 | V-1 | pickupShipment | Left_to_Bot1 | 57 | 100 | 57 |
| 1 | V-1 | pickupShipment | Center_to_Bot | 140 | 140 | 97 |
| 1 | V-1 | deliverShipment | Left_to_Bot1 | 180 | 200 | 137 |
| 1 | V-1 | deliverShipment | Center_to_Bot | 200 | 200 | 137 |
| 1 | V-1 | end | - | 200 | undef | 137 |
+--------------------------------------------------------------------------------------------------------------------------------+
返回:
logger.info(" *** concatdatafile['Field X'].dtypes={}".format(concatdatafile['Field X'].dtypes))
然后
INFO:__main__: *** concatdatafile['Field X'].dtypes=object
返回:
q1 = """SELECT * FROM concatdatafile """
fulldataset = ps.sqldf(q1,locals())
logger.info(" *** fulldataset['Field X'].dtypes={}".format(fulldataset['Field X'].dtypes))
问题:为什么要切换数据类型?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)