【Python】【DataFrame】如何按照日期列统计数据列(按照日期或者按照年月)

  • Post author:
  • Post category:python


一、当使用DataFrame进行数据分析时,可以使用日期列来进行统计和聚合操作。按照日期列统计数据列:

import pandas as pd

# 创建示例DataFrame
data = {
    '日期': ['2023-06-01', '2023-06-02', '2023-06-02', '2023-06-03', '2023-06-03'],
    '数值': [10, 15, 20, 25, 30]
}
df = pd.DataFrame(data)

# 将日期列转换为日期类型
df['日期'] = pd.to_datetime(df['日期'])

# 按照日期列进行统计,这里以求和为例
result = df.groupby('日期')['数值'].sum()

# 打印结果
print(result)

输出结果:

日期
2023-06-01    10
2023-06-02    35
2023-06-03    55
Name: 数值, dtype: int64

使用

pd.to_datetime

将日期列转换为日期类型。接下来,使用

groupby

方法按照日期列进行分组,并选择要统计的数据列。在这里,我们选择了’数值’列,并使用

sum

方法对每个日期进行求和操作。最后,打印结果。

你可以根据实际需求修改统计的方法,比如使用

mean

计算平均值、

max

获取最大值等。

二、按照年月进行统计:

使用

pd.to_datetime

将日期列转换为日期时间类型,并利用该类型的属性进行分组操作。上代码:

import pandas as pd

# 创建示例DataFrame
data = {
    '日期': ['2023-06-01', '2023-06-02', '2023-07-01', '2023-07-02', '2023-08-01'],
    '数值': [10, 15, 20, 25, 30]
}
df = pd.DataFrame(data)

# 将日期列转换为日期时间类型
df['日期'] = pd.to_datetime(df['日期'])

# 提取年月作为新的列
df['年月'] = df['日期'].dt.to_period('M')

# 按照年月进行统计,这里以求和为例
result = df.groupby('年月')['数值'].sum()

# 打印结果
print(result)

输出结果:

年月
2023-06    25
2023-07    45
2023-08    30
Freq: M, Name: 数值, dtype: int64

使用

pd.to_datetime

将日期列转换为日期时间类型。接下来,我们使用

dt.to_period('M')

提取年月,并将其存储为新的列’年月’。然后,我们使用

groupby

方法按照’年月’列进行分组,并选择要统计的数据列。在这里,我们选择了’数值’列,并使用

sum

方法对每个年月进行求和操作。最后,打印结果。



版权声明:本文为Good_Hope原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。