根据当天过滤datetime时间戳列?

时间:2019-12-13 21:30:16

标签: python python-3.x pandas

我的df的col为

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Order;

class TrackController extends Controller
{
    public function index()
    {
        return view ('track.index');
    }

    public function show($id)
    {
        $order = Order::where('code', $id)->first();
        return view('track.show',[
            'order' => $order
        ]);
    }

    public function redirect(Request $request)
    {
        $orderCode = $request->input('order-track-id');
        $order = Order::where('code', $orderCode)->first();
        if(!$order){
            abort(404);
        }else{
            return response()->redirect('/track/' . $order->code);
       }
    }
}

如果我要过滤2017年10月10日或之后的行或仅基于天的日期范围而不考虑时间,是否可能?

谢谢

2 个答案:

答案 0 :(得分:0)

如果将Time列设置为索引,则可以进行如下切片:

df.set_index('Time', inplace=True)
  • 具有给定日期date1的数据框:df = df[date1]
  • 从日期date1起的数据框:df = df[date1:]
  • 数据帧,直到日期date1df = df[:date1]
  • 开始日期df = df[start_date:end_date]和结束日期之间的数据框

如果您不想使用Time作为索引,则可以执行相同的操作,但在此列上的正弦值会略有不同:

  • 具有给定日期date1的数据框:df = df[df['Time]==date1]
  • 从日期date1起的数据框:df = df[df['Time]>=date1]
  • 数据帧,直到日期date1df = df[df['Time]<date1]
  • 开始日期df = df[df['Time].between(start,end)]和结束日期之间的数据框

答案 1 :(得分:-2)

您可以使用其date()函数将datetime.datetime对象转换为datetime.date对象:

variable = variable.date()

使用变量作为您的datetime.datetime对象。