我正在获取TypeError:'str'和'Timestamp'的实例之间不支持'<='

时间:2019-09-23 01:06:58

标签: python pandas pandas-groupby

我是python和panda框架的新手。 我试图通过使用几个列名来处理大型文件集(excel)和分组。 每个文件包含以下列;

var foo = new Span<byte>();
var bar = Encoding.ASCII.GetString(foo);

.....

在隐含日期列之后,当我列出数据类型时; 我得到浸入时间为对象。为什么?;

网站对象 储罐ID int64 产品对象 浸入时间对象 dtype:对象

我也收到以下错误; 为什么日期列在这里解释为字符串?我该怎么做才能克服这个问题?

Site Dip Time                  TankId  Product
ABC  10/09/2019 18:07:33 p.m.   1      diesel

1 个答案:

答案 0 :(得分:0)

您的时间已经是24小时制。为什么需要上午/下午?

也就是“下午”。即使您在read_excel中使用parse_dates参数,也可以使列成为“对象”类型。

当“ Dip Time”列中没有“ p.m.”时,解析日期有效。在里面。

 Site            Dip Time  Tank ID Product
0  ABC 2019-10-09 18:07:00        1  Diesel

df2=pd.read_csv('C:\\Users\\Desktop\\check.csv', parse_dates=datecols)

df2.dtypes
Out[14]: 
Site                object
Dip Time    datetime64[ns]
Tank ID              int64
Product             object
dtype: object

删除“ a.m / p.m”并使“ Dip Time”列成为日期时间类型的代码。

  Site                 Dip Time  Tank ID Product
0  ABC  10/09/2019 18:07:33 p.m        1  Diesel

df2['Dip Time']=df2['Dip Time'].str.replace('[a-z].m', '', regex=True).str.strip()

df2
Out[34]: 
  Site             Dip Time  Tank ID Product
0  ABC  10/09/2019 18:07:33        1  Diesel

df2.dtypes
Out[35]: 
Site        object
Dip Time    object
Tank ID      int64
Product     object
dtype: object

import datetime

df2['Dip Time']=pd.to_datetime(df2['Dip Time'])

df2.dtypes
Out[38]: 
Site                object
Dip Time    datetime64[ns]
Tank ID              int64
Product             object
dtype: object