【问题标题】:Filtering a datatime set from the starting and ending year with Pandas Numpy Python使用 Pandas Numpy Python 从开始和结束年份过滤数据时间集
【发布时间】:2021-11-09 00:35:38
【问题描述】:

我将如何编写代码来启用dates 中的起始年份和结束年份。我想使用 pandas 或 numpy 来显示开始和结束年份。

import numpy as np 
import pandas as pd 

dates = ['2017-09-01 00:00:00', '2017-10-01 00:00:00', '2017-11-01 00:00:00', '2017-11-01 00:00:00', '2017-11-01 00:00:00', '2017-12-01 00:00:00', '2018-01-01 00:00:00', '2018-02-01 00:00:00', '2018-03-01 00:00:00', '2018-04-01 00:00:00', '2018-05-01 00:00:00', '2018-06-01 00:00:00', '2018-07-01 00:00:00', '2018-08-01 00:00:00', '2018-09-01 00:00:00', '2018-10-01 00:00:00', '2018-11-01 00:00:00', '2018-12-01 00:00:00', '2018-12-01 00:00:00', '2019-01-01 00:00:00']

预期输出:

Starting year: 2017
Ending year: 2019

【问题讨论】:

    标签: python arrays pandas numpy datetime


    【解决方案1】:

    在你的情况下,让我们做

    pd.Series(pd.to_datetime(dates)).dt.year.agg(StartYear = 'min', EndYear = 'max')
    Out[245]: 
    StartYear    2017
    EndYear      2019
    dtype: int64
    

    【讨论】:

      【解决方案2】:

      另一种解决方案:

      mn, mx = (m := pd.to_datetime(dates)).min(), m.max()
      print(f"Starting year: {mn.year}\nEnding year: {mx.year}")
      

      打印:

      Starting year: 2017
      Ending year: 2019
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-08-01
        • 2019-11-10
        • 2016-08-12
        • 1970-01-01
        • 2019-07-15
        • 1970-01-01
        • 2014-06-27
        相关资源
        最近更新 更多