2016-03-01 55 views
0

我有一个格式为DD-Mmm-YYY的近百万个日期的列表。我很乐意使用Seaborn's heatmap function来创建日历热点图,以便可视化日历年(不分年份)的日期分布情况。我已经想通了如何月份和日期分离成单独的列,这样我有:如何使用熊猫将日期列表组织为月和日计数?

In [8]: df.head() 
Out[8]: 
    original_date month day 
0 05-Sep-2010 Sep 05 
1 08-Apr-2010 Apr 08 
2 03-Aug-2008 Aug 03 
3 03-Feb-2008 Feb 03 
4 14-Mar-2008 Mar 14 

我能做些什么这个数据帧得到它到具有月份的天为列的格式,并且月作为行索引?这是我正在寻找的,但它没有熊猫,使用csv处理和嵌套字典。

 01 02 03 04 05 06 07 08 09 10 ... 
Jan 1923 371 341 451 437 332 338 398 403 476 ... 
Feb 931 675 891 514 479 452 509 657 507 771 ... 
Mar 1370 906 737 594 469 458 524 368 430 2136 ... 
Apr 1433 1127 706 791 639 817 584 580 515 757 ... 
May 1666 885 884 697 1626 708 809 1053 826 1281 ... 

我想这样做是大熊猫能够通过一年来过滤等

回答

0

首先,我将创建一个新的数据帧,通过月份和日期计算(不含一年)

new_df = [] 
for key, grp in df.groupby(['month', 'day']): 

    month, day = key 

    new_df.append({ 
     'month': month, 
     'day': day, 
     'count': len(grp) 
    }) 
new_df = pd.DataFrame(new_df) 

然后你就可以透视这个数据帧给格式化你想

new_df.pivot('month', 'day', 'count')