Панды извлекают первый год из датафрейма - PullRequest
0 голосов
/ 30 мая 2018

У меня есть этот большой фрейм данных, и он мне нужен, когда определенный ресурс доступен впервые.Позвольте мне объяснить это из моего кода.

df1 = df[df['Resource_ID'] == 1348]
df1 = df1[['Format', 'Range_Start', 'Number']]
df1["Range_Start"] = df1["Range_Start"].str[:7]
df1 = df1.groupby(['Format', 'Range_Start'], as_index=True).last()
pd.options.display.float_format = '{:,.0f}'.format
df1 = df1.unstack()
df1.columns = df1.columns.droplevel()

df2 = df1[1:4].sum(axis=0)

df2.name = 'sum'
df2 = df1.append(df2)

df3 = df2.T[['entry', 'sum']].copy()
df3.index = pd.to_datetime(df3.index)

Теперь print (df3.first('1D')) дает следующий вывод:

Format     entry  sum
Range_Start            
2011-07-01      97   72

Теперь я вижу, что Resource_ID 1348 впервые происходит в 2011-07-01, как мне извлечь только год из этой информации?

Это мой пример ввода данных CSV:

Access_Stat_ID,Resource_ID,Range_Start,Range_End,Name,Format,Number,Matched_URL
1,15,"2009-03-01 00:00:00","2009-03-31 23:59:59","Mar 2009","entry",3,""
203,13,"2009-04-01 00:00:00","2009-04-30 23:59:59","Apr 2009","entry",18,""
204,13,"2009-04-01 00:00:00","2009-04-30 23:59:59","Apr 2009","pdf",7,""

1 Ответ

0 голосов
/ 30 мая 2018

Кажется, нужно:

first_year = df3.index.year[0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...