【问题标题】:Monthly aggregated values, pandas dataframe每月汇总值,熊猫数据框
【发布时间】:2020-02-24 23:38:26
【问题描述】:

一个示例 CSV 数据,其中第一列是时间戳(日期 + 时间):

2018-01-01 10:00:00,23,43
2018-01-02 11:00:00,34,35
2018-01-05 12:00:00,25,4
2018-01-10 15:00:00,22,96
2018-01-01 18:00:00,24,53
2018-03-01 10:00:00,94,98
2018-04-20 10:00:00,90,9
2018-04-10 10:00:00,45,51
2018-01-01 10:00:00,74,44
2018-12-01 10:00:00,76,87
2018-11-01 10:00:00,76,87
2018-12-12 10:00:00,87,90

我已经写了一些代码来完成每月汇总值任务,同时等待有人给我一些建议。

无论如何,谢谢@moys!

import pandas as pd

df = pd.read_csv('Sample.txt', header=None, names = ['Timestamp', 'Value 1', 'Value 2'])
df1['Timestamp'] = pd.to_datetime(df1['Timestamp'])
df1['Monthly'] = df1['Timestamp'].dt.to_period('M')
grouper = pd.Grouper(key='Monthly')
df2 = df1.groupby(grouper)['Value 1', 'Value 2'].sum().reset_index()

输出是:

Monthly Value 1 Value 2
0   2018-01 202 275
1   2018-03 94  98
2   2018-04 135 60
3   2018-12 163 177
4   2018-11 76  87

如果有一个包含更多列的数据集怎么办,如何对我的代码进行主题化以使其自动处理具有更多列的数据集?

2018-02-01 10:00:00,23,43,32
2018-02-02 11:00:00,34,35,43
2018-03-05 12:00:00,25,4,43
2018-02-10 15:00:00,22,96,24
2018-05-01 18:00:00,24,53,98
2018-02-01 10:00:00,94,98,32
2018-02-20 10:00:00,90,9,24
2018-07-10 10:00:00,45,51,32
2018-01-01 10:00:00,74,44,34
2018-12-04 10:00:00,76,87,53
2018-12-02 10:00:00,76,87,21
2018-12-12 10:00:00,87,90,98

【问题讨论】:

    标签: python pandas dataframe group-by data-analysis


    【解决方案1】:

    您可以执行以下操作

    df.groupby(pd.to_datetime(df['date']).dt.month).sum().reset_index()
    

    输出这里,“日期”列是月份。

      date  val1    val2
    0   1   202     275
    1   3   94      98
    2   4   135     60
    3   11  76      87
    4   12  163     177
    

    【讨论】:

    • 我已经写了一些代码来完成每月的汇总值任务,同时等待有人给我一些建议。无论如何,谢谢@moys!但是我有一个问题,如果有一个包含更多列的数据集怎么办,如何对我的代码进行主题化以使其自动处理具有更多列的数据集?
    • 使用此代码。这将得到除date 之外的所有列的总和。如您所见,我没有指定val1 或val2 & 还为这些列指定了一些。注意:你应该有一个列标题,否则第一行将成为标题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多