[英]A line graph for non-numeric data
我的數據集大多是非數字形式。 我很想為他們創建一個可視化文件,但出現錯誤消息。
我的數據集看起來像這樣
|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”
另一個實例,例如繪制字符串vs浮動,例如數量總數(DeliveryQuantity)與客戶名稱。如何解決這個問題
如何格式化繪圖的軸距離(不是標簽)
一般來說,在使用分類數據時,您必須匯總一些內容 。 無論您是要在列中計算名稱,還是要添加訂單數,或對某些類別進行排名,這仍然是數字數據。
plot_data = hr_data.pivot_table(index='DeliveryDate', columns='Customer_name', values='DeliveryQuantity', aggfunc='sum')
plt.xticks(LISTOFVALUESFORXRANGE)
plot_data.plot(legend=False)
為什么不將交貨日期作為時間戳對象而不是字符串?
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"])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.