我在总结专栏()时还有一个问题。
我有一个数据框架“新”的日期从5天。“Date”列是datetime64ns类型。我试着按日期过滤数据框架,例如“2021-10-10和2021-10-15之间的所有值”或“2021-10-14之后的所有值”等等。首先:
mask = (new['Date'] > '2021-10-10') & (df['Date'] <= '2021-10-15')我得到:
TypeError: '<=' not supported between instances of 'date time.date' and 'str'在发生此错误后,我尝试转换切片,按照建议“您希望使用Strings '2017-07-07‘而索引类型为date time.date。您的切片也应该是这种类型。您可以通过定义开始日期和结束日期来实现这一点,如下所示:
import pandas as pd
startdate = pd. to_datetime("2017-7-7").date()
enddate = pd. to_datetime("2017-7-10").date()
df.loc[startdate:enddate](当然,我删除了空间)但现在我得到了
TypeError: '<' not supported between instances of 'int' and 'date time.date'我只想按不同的时间段对数据帧进行排序和筛选。谢谢你的帮助
发布于 2021-12-01 15:23:30
为了确保所有内容都是相同的格式,使用pd.to_datetime()和使用infer_datetime_format=True可以帮助格式化并加快函数的速度:
df['Date'] = pd.to_datetime(df['Date'],infer_datetime_format=True)
df = df[(df['Date'] > pd.to_datetime('2021-10-10')) & (df['Date'] <= pd.to_datetime('2021-10-15'))]https://stackoverflow.com/questions/70186618
复制相似问题