需要增加毫秒数

时间:2019-05-23 18:34:08

标签: python pandas dataframe datetime

我有一个带有一些列的数据框,其中一列是时间。我已经根据提供给我的数据计算了毫秒数,并将其添加为名为毫秒的单独列。现在,我将两列连接在一起,以得到毫秒的单列。

问题是 1.)我需要毫秒数保留小数点后三位,因此我需要四舍五入。 2.)当我将时间戳与毫秒连接时,因此当秒以1递增时,毫秒应再次从零开始。就像之后

在下面的代码中,“样本”(sample)为常数= 60,而“ RDT序列”(RDT Sequence)为从1开始的值,每隔一行增加1。

2019-02-21 03:50:39:2
2019-02-21 03:50:40:216666666667
But instead I should get    
2019-02-21 03:50:40:00

Time    Miliseconds  \                    Time1  


0    2019-02-21 03:50:39  0166666666667   2019-02-21 03:50:39:0166666666667
1    2019-02-21 03:50:39  0333333333333   2019-02-21 03:50:39:0333333333333
2    2019-02-21 03:50:39             05   2019-02-21 03:50:39:05
3    2019-02-21 03:50:39  0666666666667   2019-02-21 03:50:39:0666666666667 
4    2019-02-21 03:50:39  0833333333333   2019-02-21 03:50:39:0833333333333 
5    2019-02-21 03:50:39              1   2019-02-21 03:50:39:1 
6    2019-02-21 03:50:39   116666666667   2019-02-21 03:50:39:116666666667
7    2019-02-21 03:50:39   133333333333   2019-02-21 03:50:39:133333333333
8    2019-02-21 03:50:39             15   2019-02-21 03:50:39:15
9    2019-02-21 03:50:39   166666666667   2019-02-21 03:50:39:166666666667
10   2019-02-21 03:50:39   183333333333   2019-02-21 03:50:39:183333333333
11   2019-02-21 03:50:39              2   2019-02-21 03:50:39:2
12   2019-02-21 03:50:40   216666666667   2019-02-21 03:50:40:216666666667
13   2019-02-21 03:50:40   233333333333   2019-02-21 03:50:40:233333333333
14   2019-02-21 03:50:40             25   2019-02-21 03:50:40:25
15   2019-02-21 03:50:40   266666666667   2019-02-21 03:50:40:266666666667

df['Miliseconds'] = df['RDT Sequence']/sample
df['Miliseconds'] = df['Miliseconds'].map(str).str[2:]
df['Time1'] = df['Time'].map(str) +":"+ df['Miliseconds'].map(str)  
print(df)

1 个答案:

答案 0 :(得分:0)

假设“时间”列是一个字符串,则需要一个熊猫时间戳。 然后,您需要数字格式的毫秒数。鉴于该格式表示数字的小数部分,我们将其转换为小数,将其四舍五入为3,然后乘以1000得到毫秒。 最后,我们使用它来构建一个时间增量,以便可以轻松地将其添加到时间戳中。

public function store(Request $request)
{
     $validatedData = $request->validate([
        'title' => 'required|min:3|max:120',
        'category' => 'required|min:3|max:120',
        'text' => 'required',
        'image' => 'required',
        'image.*' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
    ]);


    if($request->hasfile('image'))
     {

        foreach($request->file('image') as $image)
        {
            $name=$image->getClientOriginalName();
            $image->move(public_path().'/images/', $name);  
            $data[] = $name;  
        }
     }

     $post = new Post();
     $post->image=json_encode($data);


    $post->save();

    return back()->with('success', 'Yay');



}

上面的许多例程可以在一行上完成。我在这里展开以说明每个操作。