【问题标题】:Pandas filter data based on time (HH:MM:SS)Pandas 根据时间过滤数据 (HH:MM:SS)
【发布时间】:2022-10-05 23:19:08
【问题描述】:

我有以下数据集

Time Value
09:15:00 25
10:15:00 45
09:15:00 32
10:15:00 36
09:15:00 56
10:15:00 78

我想根据时间创建一个单独的数据框

df0915:

Time Value
09:15:00 25
09:15:00 32
09:15:00 56

df1015:

Time Value
10:15:00 45
10:15:00 36
10:15:00 78

有什么帮助吗?

    标签: python pandas


    【解决方案1】:

    您可以将pandas.DataFrame.groupby 与列表理解一起使用。

    out = [d for _, d in df.groupby('Time')]
    

    # 输出 :

    print(out)
    
    [       Time  Value
     0  09:15:00     25
     2  09:15:00     32
     4  09:15:00     56,
            Time  Value
     1  10:15:00     45
     3  10:15:00     36
     5  10:15:00     78]
    

    要访问其中一个数据框,请使用 out[0]out[1], ....

    【讨论】:

      【解决方案2】:

      这将过滤数据框:

      df0915 = df[df['Time'] == '09:15:00']
      df1015 = df[df['Time'] == '10:15:00']
      
      print(df0915)
      print(df1015)
      

      输出:

             Time  Value
      0  09:15:00     25
      2  09:15:00     32
      4  09:15:00     56
             Time  Value
      1  10:15:00     45
      3  10:15:00     36
      5  10:15:00     78
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-11-30
        • 2017-11-03
        • 1970-01-01
        • 1970-01-01
        • 2021-08-30
        • 1970-01-01
        • 2021-02-20
        相关资源
        最近更新 更多