簡體   English   中英

非數值數據的折線圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM