代码之家  ›  专栏  ›  技术社区  ›  Abhishek Kulkarni

根据日期时间条件填充pandas列

  •  0
  • Abhishek Kulkarni  · 技术社区  · 7 月前

    这是生成数据帧的示例代码。

    import pandas as pd
    import numpy as np  
    
    dates = pd.date_range("20241218", periods=9600,freq='1MIN')   
    df = pd.DataFrame(np.random.randn(9600, 4), index=dates, columns=list("ABCD")) 
    

    对于所有日期,我想在1:35到1:45之间的时间用-1填充所有列。 同样,我想用-2填充所有列,表示所有日期的确切时间为1:00。 对于所有其他时间值,列需要填充零。 请提出前进的方向。

    1 回复  |  直到 7 月前
        1
  •  2
  •   Quang Hoang    7 月前

    尝试:

    df.loc[df.between_time('01:35', '01:45').index] = -1
    df.loc[df.index.time == pd.Timestamp('01:00').time()] = -2
    

    输出可以用类似的方法进行验证:

    print(df.between_time('1:35', '1:45').head(15) )
    print(df.loc[df.index.time == pd.Timestamp('01:00').time()])