我寫了一個代碼(在 pyspark 中 taht 適用于資料框熊貓)來繪制歷史系列的圖:以年為單位的數量趨勢。在 x 軸上,我輸入了月份的名稱。如何正確排序而不是按字母順序排序?
謝謝
plt.figure()
pd_filter = df[df["date"] < pd.to_datetime("2021-12-01")].copy()
pd_new = pd.DataFrame(pd_filter.groupby(["Month","Year"])["quantity"].count()).reset_index()
ax = pd_new.set_index("Month").groupby("Year")["quantity"].plot(legend=True, figsize=(10,5), title = "Quantity per Year")
plt.xlabel("Months")
plt.ylabel("Quantity")
plt.show()
uj5u.com熱心網友回復:
您可以map從月線到月數與字典,然后用一個月號碼為索引和排序的指標。這是一個小例子,展示了這一點:
import pandas as pd
df = pd.DataFrame(
{"Month": ["Feb", "Jan", "Mar", "May", "Jun", "Jul", "Oct", "Apr", "Aug", "Sep", "Dec", "Nov"],
"Val": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]})
month_map = {"Jan": 1, "Feb": 2, "Mar": 3, "Apr": 4, "May": 5, "Jun": 6, "Jul": 7, "Aug": 8, "Sep": 9, "Oct": 10,
"Nov": 11, "Dec": 12}
df["Month_val"] = df["Month"].map(month_map)
df_new_index = df.set_index("Month_val").sort_index()
df_new_index.plot.line(x="Month", y="Val")
您可能需要將字典中的字串更改為您在幾個月內使用的字串。
輸出:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/384820.html
