使用Python从Excel导入和绘制大量数据(jupyter.org)
我的项目的一部分是使用Python进行绘图。我在Excel表格(55k行)上有大量数据,这是洛杉矶发生的车祸数量。我需要绘制事故(年,月,周,日),所以X轴表示的日期和Y轴的数字代表collisions.The数据的数量看起来是这样的:使用Python从Excel导入和绘制大量数据(jupyter.org)
COLLISION_DATE
20010101
20010101
20010101
20010101
20010101
20010101
每一行该图表代表1次碰撞。我用这个代码来获取日常情节
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime
df = pd.read_csv('rr.csv')
df['COLLISION_DATE']= pd.to_datetime(df['COLLISION_DATE'].astype(str), format='%Y%m%d')
answer = df.groupby('COLLISION_DATE').size().to_frame('Number of Accidents')
answer.plot.line()
plt.show()
对于每月和每周我使用这个代码
df = pd.read_csv('rr.csv')
df['COLLISION_DATE'] = pd.to_datetime(df['COLLISION_DATE'],format='%Y%m%d')
df['week'], df['month'], df['year'],df['day'] = df['COLLISION_DATE'].dt.week, df['COLLISION_DATE'].dt.month, df['COLLISION_DATE'].dt.year,df['COLLISION_DATE'].dt.day
answer = df.groupby('month').size().to_frame('Number of Accidents')
answer.plot.line()
plt.show()
这是给我12个月的X轴,我需要的是180个月(2001年至2015年),然后我必须将每个结果保存在新的Excel表格中。
对于每周和每月的绘图,您可以在数据框中创建一个月份和周列(基于日期列),并将其用作新的x轴。像描述here可以达到这个目的通过以下方法(假设你的数据框被称为DF):
df['date'] = pd.to_datetime(df['date'])
df['week'], df['month'] = df['date'].dt.week, df['date'].dt.month
保存至一个Excel文件,你可以使用:
df.to_excel("your_file.xlsx")
下面是对根据documentation链接。
感谢您的快速回复,我是电气工程专业的学生,这是我第一次在我的生活中使用python,所以我不知道如何创建一个月和每周列所以请如果你能帮助我的话 – Ara
我编辑了我的答案。如果您需要进一步说明,请查看链接的帖子。 – SaturnFromTitan
我可以绘制所有这些图表(每年,每月,每周和每日),所以现在我的X轴每月只有12个月,而每周是52周,我需要的是180个月(15年)。这有可能实现吗? – Ara
就目前而言,这是无关紧要的,因为它依赖于外部链接。对于文件柜,我们希望您希望随着时间的推移删除/重命名/更改这些文件,这将使未来的学习者无法使用这个问题。你是否会善于编辑问题以在问题本身中包含必要的信息? – halfer
请阅读[在什么情况下,我可以添加“紧急”或其他类似的短语到我的问题,以获得更快的答案?](/ meta.stackoverflow.com/q/326569) - 总结是,这不是这是解决志愿者问题的理想方式,可能会对获得答案产生反作用。请不要将这添加到您的问题。 – halfer
感谢您的反馈,我将我的问题编辑为适当的格式 – Ara