根据日期,星期,月份获取平均数据

时间:2020-02-16 09:46:03

标签: python pandas numpy

我有一个数据集,其中包含工厂工人产出的三年数据。现在,我想获得基于日期,星期,月份的平均输出。问题在于日期格式类似于%d。%m。%Y(日-月-年)。我的问题是如何在获取预期输出的同时保持日期格式不变。

我的数据集是这样的(每天有很多值。)

date         output 
1.1.2017     261
2.1.2017     152 (Jan.02,2017)
17.1.2017    256
17.1.2017    261
18.1.2017    193
18.1.2017    462
1.2.2017     212 (Feb.1,2017)
3.2.2017     266 (Feb.3,2017)

....


1.3.2018    360

我得到的错误消息是:时间数据'2017-01-01'与格式'%d。%m。%Y'(匹配)不匹配。仅供参考,当我读取数据集时

df['date'] = pd.to_datetime(df['date'],format='%d.%m.%Y').dt.date
df.groupby(['date'],as_index=False).mean()

我尝试通过谷歌搜索不同的解决方案来解决它。但是我无法获得预期的结果。日期和月份之间的输出完全混乱了。 2017年1月2日(2017年1月2日)被视为2017年2月1日,我该如何解决?谢谢!

1 个答案:

答案 0 :(得分:0)

您的代码看起来不错,并且实际上至少对于前四个数据记录而言效果很好。这里的问题是日期格式与您报告的错误不一致。就像其他人指出的那样,让熊猫为您找出格式可以解决问题,即df["date"]=pd.to_datetime(df["date"])。但是我只是觉得这有点棘手或危险。我建议您在对它们进行任何分析之前,先使用Python中的字符串操作统一日期格式。希望这会有所帮助。

相关问题