arrays - 按日期分隔数据框并计算数学模型 Numpy Python
问题描述
和数组相互关联,所以数据data_list
点。下面的函数显示了发生新年的索引。. 因此,由于 2019 年有 4 个月,因此需要将数字的总和除以 2019 年的月数,即 4,结果为。但是,我试图制作一个图表来显示我将如何编写这样的东西?monthly_values
'2019-09-01 00:00:00'= 15 , 2019-10-01 00:00:00'= 39.6... etc
year_changes
2019-09-01 00:00:00 - 2020-01-01 00:00:00
15., 39.6, 0.2, 34.3
Expected Output
22.28
mean, median, max ,min
import numpy as np
import pandas as pd
from pandas import DataFrame
date_list = ['2019-09-01 00:00:00', '2019-10-01 00:00:00', '2019-11-01 00:00:00',
'2019-12-01 00:00:00', '2020-01-01 00:00:00', '2020-02-01 00:00:00',
'2020-03-01 00:00:00', '2020-04-01 00:00:00', '2020-05-01 00:00:00',
'2020-06-01 00:00:00', '2020-07-01 00:00:00', '2020-08-01 00:00:00',
'2020-09-01 00:00:00','2020-10-01 00:00:00', '2020-11-01 00:00:00',
'2020-12-01 00:00:00','2021-01-01 00:00:00','2021-02-01 00:00:00', '2021-03-01 00:00:00',
'2021-04-01 00:00:00','2021-05-01 00:00:00', '2021-06-01 00:00:00',
'2021-07-01 00:00:00']
monthly_values = np.array([ 15., 39.6, 0.2, 34.3, 19.6, 26.8, 15.7, 26., 12.6, 15.5, 18.6, 2.3, 6.5,
2.5, 12.2, 11.6, 93.9, 25.5, 26.5, -16.5, -1.4, -1.8, 5.])
data = pd.DataFrame({"Date": date_list, "Averages": monthly_values})
data["Date"] = pd.to_datetime(data["Date"])
print(data.groupby(data["Date"].dt.year).mean())
输出:
Averages
Date
2019 22.275000
2020 14.158333
2021 18.742857
预期输出:
Averages Median Max Min
Date
2019 22.275000 24.65 39.6 0.2
2020 14.158333 14.05 93.9 -16.5
2021 18.742857 5.00 26.8 2.3
解决方案
通过groupby()
、agg()
和尝试droplevel()
:rename()
out=(data.groupby(data["Date"].dt.year)
.agg(['mean','median','max','min'])
.droplevel(0,1)
.rename(columns=lambda x:'Average' if x=='mean' else x.title()))
或者
通过pivot_table()
,droplevel()
和rename()
:
out=(data.pivot_table('Averages',data["Date"].dt.year,aggfunc=['mean','median','max','min'])
.droplevel(1,1)
.rename(columns=lambda x:'Average' if x=='mean' else x.title()))
的输出out
:
Average Median Max Min
Date
2019 22.275000 24.65 39.6 0.2
2020 14.158333 14.05 26.8 2.3
2021 18.742857 5.00 93.9 -16.5
推荐阅读
- firebase - 我做的 Firestore 交易正确吗?
- reactjs - 在 React 组件之外访问 History 对象
- octave - 如何在 macOS 上设置 .octaverc 文件?
- flutter - flutter firebase firestore 删除重复值
- audio - 通过 FFMPEG 从 mp4 中提取 mp3 不应用音频比特率
- javascript - 我的“secondsSinceLastRender”的工作方式是什么?
- javascript - winwheel angular callbackSound & callbackFinished 无法正常工作
- c# - 如何将两个图层绑定到着色器的输入
- python - 着色文本在 Jupyter 笔记本中不起作用
- python - 运行一些数据分析程序,但最后一个数字没有显示?