2
でそれらをカウントした後
私は、文字列から日付と時刻を抽出し、wrintigにより、パンダDatFrameにそれらを変換:Pythonの:ソート日付パンダ
df = pd.to_datetime(news_date, format='%m/%d/%Y')
、出力は次のようである:
['1997-10-31 18:00:00', '1997-10-31 18:00:00',
'1997-10-31 18:00:00', '1997-10-31 18:00:00',
'1997-10-31 18:00:00', '1997-10-31 18:00:00',
'1997-10-31 18:00:00', '1997-10-31 18:00:00',
'1997-10-31 18:00:00', '1997-10-31 18:00:00',
...
'2016-12-07 03:14:00', '2016-12-09 16:31:00',
'2016-12-10 19:02:00', '2016-12-11 09:41:00',
'2016-12-12 05:01:00', '2016-12-12 05:39:00',
'2016-12-12 06:44:00', '2016-12-12 08:11:00',
'2016-12-12 09:36:00', '2016-12-12 10:19:00']
は、その後、私は唯一の月と年を維持し、日付を並べ替えてみたかった、私が書いた:
month_year = df.to_series().apply(lambda x: dt.datetime.strftime(x, '%m-%Y')).tolist() # remove time and day
new = sorted(month_year, key=lambda x: datetime.datetime.strptime(x, '%m-%Y')) # sort date
をこれまでのところ、私はアルを持っています日付のist。この問題は、私がそれらの頻度を数えようとするときに発生します(後で時間分布をプロットする必要があります)。それでも
01-1998 60
01-1999 18
01-2000 49
01-2001 50
01-2002 87
01-2003 129
01-2004 125
01-2005 225
01-2006 154
01-2007 302
01-2008 161
01-2009 161
01-2010 167
01-2011 181
01-2012 227
... ...
12-2014 82
12-2015 89
12-2016 13
、私は他の列(例えば、パンダのデータフレーム)にソートされた1列の日付、およびその周波数を持つようにしたい:
print(pd.DataFrame(new).groupby(month_year).count())
、出力は次のようになります。 私のコードですSORTINためto_period
、その後value_counts
を、変換することにより、私はあなたが必要だと思うmonth period
01-1998 60
02-1998 32
03-1998 22
... ...
11-2016 20
12-2016 13