首页 > 解决方案 > 非数字数据的折线图

问题描述

我有一个主要是非数字形式的数据集。我很想为他们创建一个可视化,但我收到一条错误消息。

我的数据集看起来像这样

 |plant_name|Customer_name|Job site|Delivery.Date|DeliveryQuantity|
 |SN13|John|Sweden|01.01.2019|6|
 |SN14|Ruth|France|01.04.2018|4|
 |SN15|Jane|Serbia|01.01.2019|2|
 |SN11|Rome|Denmark|01.04.2018|10|
 |SN14|John|Sweden|03.04.2018|5|
 |SN15|John|Sweden|04.09.2019|7|
 |

我需要创建一个线图来显示约翰使用交货日期作为我的时间线(x 轴)进行购买的次数

import  pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
pd.set_option("display.max_rows", 5)

hr_data = pd.read_excel("D:\data\Days_Calculation.xlsx", parse_dates = True)

x = hr_data['DeliveryDate']
y = hr_data ['Customer_name']

sns.lineplot(x,y)

Error: No numeric types to aggregate

我的预期结果显示是这样的折线图

约翰的标记将出现在“01.01.2019”、“03.04.2018”和“04.09.2019”的时间线(交货日期)上

另一个实例要绘制字符串与浮点数,例如数量总数(DeliveryQuantity)与客户名称。如何解决这个问题

如何格式化绘图的轴距离(不是标签)

标签: pythonpandasmatplotlibdata-visualizationseaborn

解决方案


为什么不将 Delivery Date 设为时间戳对象而不是字符串?

hr_data["Delivery.Date"] = pd.to_datetime(hr_data["Delivery.Date"]) 

现在你有了情节选项。

与约翰一起工作。

john_data = hr_data[hr_data["Customer_name"]=="John"]
sns.countplot(john_data["Delivery.Date"]) 

推荐阅读