【问题标题】:Comparing dataframe datetime column value in Python? [duplicate]比较Python中的数据框日期时间列值? [复制]
【发布时间】:2019-05-12 13:24:52
【问题描述】:

我是熊猫新手。 我有以下熊猫数据框,其中包含以下值:

index print_statement      timestamp 
0     echo "I AM HAPPY2" 2018-11-12 08:01:00       
1     echo "I AM HAPPY3" 2018-11-12 08:01:00       
2     echo "I AM HAPPY1" 2018-11-12 08:01:00       
3     echo "I AM HAPPY4" 2018-12-12 08:02:00      
4     echo "I AM HAPPY5" 2018-12-13 08:02:00  

我想将 df 比较为: - 假设我有一个 time_argument 是 datetime.datetime(2018, 12, 12, 5, 1)。我想将结果存储在另一个dataframe 中,其中时间戳> time_argument。

我尝试使用以下方法:

for index, row in df.iterrows():
     date_store = row['time_to_expire']
     if date_store.to_pydatetime() >= ii:
         df_final = row

但我没有得到想要的答案。

希望我对这个问题很清楚。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    你可以这样做:

    首先将时间戳列转换为 Pandas 日期时间:

    In [2346]: df.timestamp = pd.to_datetime(df.timestamp)
    In [2347]: df
    Out[2347]: 
          print_statement           timestamp
    0  echo "I AM HAPPY2" 2018-11-12 08:01:00
    1  echo "I AM HAPPY3" 2018-11-12 08:01:00
    2  echo "I AM HAPPY1" 2018-11-12 08:01:00
    3  echo "I AM HAPPY4" 2018-12-12 08:02:00
    4  echo "I AM HAPPY5" 2018-12-13 08:02:00
    
    In [2348]: time_argument = datetime.datetime(2018, 12, 12, 5, 1)
    
    In [2350]: result = df[df.timestamp > time_argument]
    Out[2350]: result
          print_statement           timestamp
    3  echo "I AM HAPPY4" 2018-12-12 08:02:00
    4  echo "I AM HAPPY5" 2018-12-13 08:02:00
    

    【讨论】:

    • @jezrael 知道了。也编辑了我的答案。谢谢。
    • @MayankPorwal 但是如果我通过 time_argument = datetime.datetime(2018, 12, 11, 4, 59) . In that case it is showing me the same result as of datetime.datetime(2018, 12, 12, 5, 1)` 。我在这里缺少什么?
    • @AniketMaithani 是的,它应该产生相同的结果。因为,新的 time_argument 基本上是 =2018-12-11 04:59。因此,您正在搜索行 > 11th Dec 2018,这基本上是数据框的最后 2 行。
    • 感谢@MayankPorwal 的澄清。如果我想在这种情况下比较日期和时间?
    • @AniketMaithani 代码已经将日期与时间进行比较。只需确保为 time_argument 变量提供正确的值。它会做你想做的事。
    猜你喜欢
    • 2019-12-17
    • 2016-05-05
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 2019-10-14
    • 2019-01-05
    • 1970-01-01
    • 2017-06-01
    相关资源
    最近更新 更多