使用Pandas到CSV,如何在多级索引中组织时间和数值数据

时间:2019-06-06 21:54:40

标签: python pandas indexing group-by resampling

使用大熊猫写csv,我希望每个唯一来源的每月收入总和。月采用日期时间格式。

我尝试过重采样和groupby方法,但是groupby忽略了月份,而重采样则忽略了源代码。我目前有一个以月和来源为索引的多级索引。

   Month        Source   Income
2019-03-01        A        100
2019-03-05        B        50
2019-03-06        A        4
2019-03-22        C        60
2019-04-23        A        40
2019-04-24        A        100
2019-04-24        C        30
2019-06-1         C        100
2019-06-1         B        90
2019-06-8         B        20
2019-06-12        A        50
2019-06-27        C        50

我可以对忽略日期的Source进行分组,或者可以对忽略Source的日期进行重新采样。我想要每个唯一来源的每月金额。

1 个答案:

答案 0 :(得分:0)

列中的内容是时间戳。因此,您可以分离此 Timestamp 的month属性,然后再应用 groupby 方法,如下所示:

df.columns = ['Timestamp', 'Source', 'Income']

month_list = []
for i in range(len(df)):
    month_list.append(df.loc[i,'Timestamp'].month)

df['Month'] = month_list

df1 = df.groupby(['Month', 'Source']).sum()

输出应如下所示:

               Income
Month   Source  
3          A    104
           B    50
           C    60
4          A    140
           C    30
6          A    50
           B    110
           C    150