Запрос значений DataFrame за определенный год - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть фрейм данных pandas, который я создал на основе данных о погоде, которые показывают высокие и низкие температуры за день с 2005 по 2015 годыЯ хочу иметь возможность запрашивать мой фрейм данных таким образом, чтобы он отображал значения только с 2015 года. Есть ли способ сделать это без предварительного изменения значений даты и времени, чтобы они показывали только год (т. Е. Не делать сначала только strtime (% y))?

Создание фрейма данных:

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')

Попытка запроса:

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

Данные:

Набор данных NOAA был сохранен в файле data / C2A2_data / BinnedCsvs_d400 / fb441e62df2d58994928907a91895ec62c2c42e6cd075c2700843b89.csv.Данные для этого задания получены из подмножества Ежедневной глобальной историко-климатологической сети Национальных центров экологической информации (NCEI) (GHCN-Daily).GHCN-Daily состоит из ежедневных климатических записей с тысяч наземных станций по всему земному шару.

Каждая строка в файле данных назначения соответствует одному наблюдению.

Следующие переменные предоставляются дляВы:

id : station identification code
date : date in YYYY-MM-DD format (e.g. 2012-01-24 = January 24, 2012)
element : indicator of element type
TMAX : Maximum temperature (tenths of degrees C)
TMIN : Minimum temperature (tenths of degrees C)
value : data value for element (tenths of degrees C)

Изображение кадра данных:

enter image description here

1 Ответ

0 голосов
/ 14 декабря 2018

Я решил эту проблему, добавив строку с указанием только года, а затем запросив этот способ, но должен быть лучший способ сделать это?

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...