ValueError: You are trying to merge on datetime64[ns] and object columns. If you wish to proceed you

阅读: 评论:0

ValueError: You are trying to merge on datetime64[ns] and object columns. If you wish to proceed you

ValueError: You are trying to merge on datetime64[ns] and object columns. If you wish to proceed you

问题

python读取的csv文件的某一列是时间,把datetime列转换为datetime类型。

问题示例
—情景:按时间索引ts,用merge横向合并两个dataframe,报错:
ValueError: You are trying to merge on datetime64[ns] and object columns. If you wish to proceed you should at
object

results = pd.DataFrame(results)
_csv('capm.csv')
results = pd.read_csv('capm.csv')merged_df = pd.merge(df, results, on=['ts', 'symbol'], how='inner')


1.解决:把Series转换为datetime类型

通过报错发现我们的时间数据读进来之后就变成了object类型,而不是datetime类型
代码如下(示例):

import pandas as pd          #导入模块
results = results .assign( ts&#_datetime(results ['ts'] ))       #把results的'ts'列转化为datetime类型,把转换后的ts列覆盖原来的ts列
a=results['ts'].dtypes #查看列名为"ts"那列的数据类型
print(a)     #发现类型已经变为datetime64[ns],成功!

本文发布于:2024-01-31 11:50:46,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170667305128315.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:merge   ValueError   ns   proceed   columns
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23