【问题标题】:how can i find values using timestamp in dataframe python如何在数据框 python 中使用时间戳查找值
【发布时间】:2019-03-14 02:19:34
【问题描述】:

我尝试使用数据下的时间戳来查找值。

    date               foo  bar
2019-01-26 22:22:12     1   100 
2018-11-07 13:12:26     1   100 
2019-01-20 06:30:39     1   100 
2018-11-05 21:21:29     0   80  
2018-11-06 09:01:39     0   100 

当我在代码下使用时,系列不支持它。

tmp = df[df.date.day == 20]

所以我使用循环来读取每一行并解析数据。

for i in range(len(df)):
    if df.date[i].day == 20:
               .
               .
               .

但我认为完成所有数据的时间太长了。

有没有办法使用时间戳来查找值?

【问题讨论】:

    标签: python dataframe timestamp


    【解决方案1】:

    是否可以进一步澄清您的问题?如果我理解正确,您正在将数据加载到熊猫数据框中。加载数据后,您要根据日期值对其进行过滤。如果是这种情况,将采用一种选择。

    import pandas as pd
    
    # Create basic dataframe
    
    df = pd.DataFrame([{'date' : '2019-01-26 22:22:12','foo': 1,'bar':   100 },
    {'date' : '2018-11-07 13:12:26','foo': 1,'bar':   100},
    {'date' : '2019-01-20 06:30:39','foo': 1,'bar':   100},
    {'date' : '2018-11-05 21:21:29','foo': 0,'bar':   80},
    {'date' : '2018-11-06 09:01:39','foo': 0,'bar':100 }])
    
    print(df)
    print(df.dtypes)
    
    # Parse date column
    df['date'] = pd.to_datetime(df['date'])
    print(df)
    print(df.dtypes)
    
    df['date_day'] = df['date'].dt.day
    
    # Select based on day
    print(df[df['date_day'] == 20])
    

    如果您可以进一步澄清您的问题,那么应该可以为您提供更具体的示例。另请注意,上述示例中的某些步骤可以组合...(显示选项的一部分)。

    有关使用日期的更多信息,请参阅(以及其他)以下资源:

    希望这会有所帮助。

    【讨论】:

    • 我使用你的方法如下。 df[df.date.dt.day == 20]。谢谢
    猜你喜欢
    • 2019-07-04
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 2017-10-28
    • 1970-01-01
    • 2020-11-06
    • 2019-02-25
    • 1970-01-01
    相关资源
    最近更新 更多