自学笔记|已知年月日数据,要求年月数据

问题:有了某年某月某日具体的时间和数值,要知道某月的平均值

df = pd.read_csv(file_path, sep='\t')

df['日期'] = pd.to_datetime(df['日期'], format='%Y%m')

df.set_index('日期', inplace=True)

#col月平均值
df_monthly_avg = df.groupby([df.index.year, df.index.month])['col'].mean()

#col月出现个数
df_monthly_count = df.groupby([df.index.year, df.index.month])['col'].count()

#重构df
df_monthly_avg = pd.concat([df_monthly_avg,df_monthly_count], axis=1)

#重命名列名
df_monthly_avg.columns = ['col改']

#构造时间
start_date = df.index.min().strftime('%Y-%m-01')
end_date = (df.index.max()).strftime('%Y-%m-31')
dates = pd.date_range(start=start_date, end=end_date, freq='M')

#把重构的时间索引付给重构的df
formatted_dates = dates.strftime("%Y-%m")
df_monthly_avg.index = formatted_dates

这样我们就得到了一个新的df,包含有我们月平均值的数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值