Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python excel上载后日期类型出现问题(将时间戳转换为日期时间)_Python_Excel_Dataframe_Datetime_Timestamp - Fatal编程技术网

Python excel上载后日期类型出现问题(将时间戳转换为日期时间)

Python excel上载后日期类型出现问题(将时间戳转换为日期时间),python,excel,dataframe,datetime,timestamp,Python,Excel,Dataframe,Datetime,Timestamp,我在excel中有数据,一张表的日期为列,另一张表的日期为行。使用pd.read\u excel,我将它们作为数据帧。其中一个(Data1)的类型是datetime.datetime,另一个(Data2)的类型是timestamp 如何防止这种情况发生并获得统一类型 我想做什么 Data1[Data1.index<Data2.columns[-1]] 而不是 Data2.columns[-1] 错误更改为 TypeError:“确保将苹果与苹果进行比较。比较完整日期时间(日期和时间组件

我在excel中有数据,一张表的日期为列,另一张表的日期为行。使用pd.read\u excel,我将它们作为数据帧。其中一个(Data1)的类型是datetime.datetime,另一个(Data2)的类型是timestamp

  • 如何防止这种情况发生并获得统一类型
  • 我想做什么

    Data1[Data1.index<Data2.columns[-1]]
    
    而不是

    Data2.columns[-1]
    
    错误更改为


    TypeError:“确保将苹果与苹果进行比较。比较完整日期时间(日期和时间组件)或仅比较其中一个。例:

    from datetime import datetime, timedelta
    import pandas as pd
    
    # date and time:
    pd.Timestamp('now') >= datetime.now() + timedelta(hours=1)
    # False
    
    # time only:
    pd.Timestamp('now').time() >= (datetime.now() + timedelta(hours=1)).time()
    # False
    
    # date only:
    pd.Timestamp('now').date() >= (datetime.now() + timedelta(hours=1)).date()
    # True
    
    与…相反

    pd.Timestamp('now').time() >= (datetime.now() + timedelta(hours=1))
    
    …会扔

    TypeError:“>=”在“datetime.time”和的实例之间不受支持 “datetime.datetime”


    这两条错误消息都表明数据1的类型实际上是
    datetime.time
    。奇怪的是,这会产生相同的错误消息抱歉,我对熊猫没有任何经验。但是要在datetimes和timestamp float之间进行转换,您可以执行
    dt=datetime.fromtimestamp(ts)
    ts=dt.timestamp()
    。谢谢,这正是问题所在,原来我有一些datetime.time()在其中,并且比较了datetime.datetime和datetime.time。
    from datetime import datetime, timedelta
    import pandas as pd
    
    # date and time:
    pd.Timestamp('now') >= datetime.now() + timedelta(hours=1)
    # False
    
    # time only:
    pd.Timestamp('now').time() >= (datetime.now() + timedelta(hours=1)).time()
    # False
    
    # date only:
    pd.Timestamp('now').date() >= (datetime.now() + timedelta(hours=1)).date()
    # True
    
    pd.Timestamp('now').time() >= (datetime.now() + timedelta(hours=1))