比较Python中的数据框日期时间列值? [复制]

Posted

技术标签:

【中文标题】比较Python中的数据框日期时间列值? [复制]【英文标题】:Comparing dataframe datetime column value in Python? [duplicate] 【发布时间】: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

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

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

【问题讨论】:

【参考方案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 变量提供正确的值。它会做你想做的事。

以上是关于比较Python中的数据框日期时间列值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

根据另一个数据框 python pandas 替换列值 - 更好的方法?

(Python)如何修复数据框列值中的数值表示错误

根据列值(字符串,子字符串)比较两个数据框并更新另一个列值

如果您使用 pandas 数据框知道列值和行值,如何检索数据? [复制]

如何连接列值在一定范围内的两个数据框?

如何使用熊猫更改数据框中的日期时间格式? [复制]