查询特定年份的DataFrame值

时间:2018-12-12 11:59:30

标签: pandas datetime

我有一个根据天气数据创建的熊猫数据框,该数据框显示了2005-2015年每天的高温和低温。我希望能够查询我的数据框,使其仅显示2015年的值。有没有办法做到这一点而无需先将datetime值更改为仅显示年(即,不首先使strtime(%y)成为唯一) ?

创建DataFrame:

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    UIView.animate(withDuration: 5, delay: 0.0, options: .curveEaseOut , animations: {
        //FIRST EFFECT
        self.logoLSMini.alpha = 1.0
        self.logoLSMini.transform = CGAffineTransform(rotationAngle: 360)
        self.logoLSMini.transform = CGAffineTransform(scaleX: 100, y: 100)
        self.logoLS.alpha = 1.0
    }, completion: { _ in
        self.performSegue(withIdentifier: "yourSegue", sender: nil)
    })
}

尝试查询:

df=pd.read_csv('data/C2A2_data/BinnedCsvs_d400/fb441e62df2d58994928907a91895ec62c2c42e6cd075c2700843b89.csv')
df['Date']=pd.to_datetime(df.Date)
df['Date'] = df['Date'].dt.strftime('%m-%d-%y')

数据:

NOAA数据集已存储在文件data / C2A2_data / BinnedCsvs_d400 / fb441e62df2d58994928907a91895ec62c2c42e6cd075c2700843b89.csv中。此任务的数据来自国家环境信息中心(NCEI)每日全球历史气候学网络(GHCN-Daily)的子集。 GHCN日报由全球数千个地面站的每日气候记录组成。

赋值数据文件中的每一行都对应一个观察值。

为您提供了以下变量:

daily_df=df[df['Date']==datetime.date(year=2015)]
Error: asks for a month and year to be specified.

DataFrame的图像:

enter image description here

1 个答案:

答案 0 :(得分:0)

我通过仅在年份中添加一行然后进行查询来解决此问题,但是必须有一种更好的方法来做到这一点?

df['Date']=pd.to_datetime(df['Date']).dt.strftime('%d-%m-%y')
df['Year']=pd.to_datetime(df['Date']).dt.strftime('%y')
daily_df = df[df['Year']=='15']
return daily_df