2017-05-17 22 views
0

我试图绘制随时间变化的城市销售增长情况。我有我与熊猫导入CSV文件...绘制CSV中的多行Python

import pandas as pd 
import numpy as np 
import matplotlib as plt  
df = pd.read_csv("filepath.csv") 

在该数据帧的三列,日期(格式M/d/YYYY 0:00:00),订单价值和城市。

我试图将每个城市的订单发生情况作为一个单独的线路进行绘制,例如,第一个日期有一个特定城市的订单,y值为1,第二个日期为该订单的订单城市,y值将是两个等。

我还需要代码来忽略城市的空值。

到目前为止,我想出了这一点:

style.use('ggplot') 

df.groupby('City').plot(x='Date', y='Weekly Payment') 

plt.title('Title of Chart') 
plt.ylabel('Y Axis') 
plt.xlabel('X Axis') 

plt.show() 

它返回一个错误,说是没有数字要绘制的数据。非常感谢!

编辑:这里是我想创建的类图的图像:

image on imgur

+1

寻求调试帮助的问题(“为什么这个代码不工作?”)必须包含所需的行为,特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题陈述的问题对其他读者无益。请参阅:如何创建[mcve]。 – ImportanceOfBeingErnest

+0

感谢您的反馈!我已经添加了一个链接到我希望看到的输出类型的图像。 –

回答

0

我相信你所遇到的问题是,你不必相同ammount的所有城市的数据,

为了将信息绘制在同一图中,每个图的数据集的大小必须相同。因此,您需要做的是生成虚拟数据,以填补第二块图缺失数据的空白。

至于忽略空城市一个简单的尝试和除了包装应该做到这一点。

+0

嗯,我可以申请哪些虚拟数据,这不会影响报告的准确性?另外,你会在哪里应用除包装器以忽略空值? –

+0

您可以尝试计算在连接两个相邻实际数据点的图上的实际数据和绘图点之间缺少多少个数据点,如果有意义的话。 至于尝试和除了,找出哪些行或片段从空城市返回一个错误,并将其包装在try和except语句之间 – vencaslac

+0

您可能要考虑的另一件事是在这里线图是否合适。你有没有考虑过使用条形图?如果某个城市在给定的日期支付了款项,但是没有为另一个城市支付款项,我之前的建议会显示一张可能误导的图表,但条形图会显示一个空白区域,这可能更具代表性,尽管我想我正在假设你的用例 – vencaslac