【问题标题】:Splitting the total time (in seconds) and fill the rows of a column value in 1 second frame拆分总时间(以秒为单位)并在 1 秒帧中填充列值的行
【发布时间】:2022-01-15 02:23:25
【问题描述】:

我的数据框看起来像(start_time 和 stop_time 以秒为单位,后跟毫秒)

而我的预期输出是这样的,

我不知道如何处理这个问题。前向填充可能会填充 NaN 值。但是我需要根据各自的标签将总时间秒数划分并保存为1秒帧。我没有任何代码 sn-p 继续前进。我所做的只是将其保存在数据框中,

df = pd.DataFrame(data, columns=['Labels', 'start_time', 'stop_time'])

谢谢你,我真的很感激你的帮助。

【问题讨论】:

    标签: python pandas dataframe time


    【解决方案1】:
    >>> df2 = pd.DataFrame({
    >>>     "Labels" : df.apply(lambda x:[x.Labels]*(round(x.stop_time)-round(x.start_time)), axis=1).explode(), 
    ...     "start_time" : df.apply(lambda x:range(round(x.start_time), round(x.stop_time)), axis=1).explode()
    ...     })
    >>> df2['stop_time'] = df2.start_time + 1
    >>> df2
    
      Labels start_time stop_time
    0      A          0         1
    0      A          1         2
    0      A          2         3
    0      A          3         4
    0      A          4         5
    0      A          5         6
    0      A          6         7
    0      A          7         8
    0      A          8         9
    1      B          9        10
    1      B         10        11
    1      B         11        12
    1      B         12        13
    2      C         13        14
    2      C         14        15
    

    【讨论】:

    • 你救了我。感谢@Amir saleem,我知道了爆炸的概念。它完全有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    相关资源
    最近更新 更多