现在我使用这些代码在(x轴上的年,月)日期有一个非常简单的直方图图:
#!/usr/bin/python
import pandas as pd
import matplotlib.pyplot as plt
file = 'dates.txt'
df = pd.read_csv("dates.txt", header=None)
df["dates"] = pd.to_datetime(df[0])
grouped = df["dates"].groupby([df["dates"].dt.year, df["dates"].dt.month]).count().plot(kind="bar")
plt.show()
我希望将月份的数字表示形式替换为相应的月份缩写。例如(2015,7)->(2015,7月)。因此,我在下面的脚本中尝试了以下代码apply(lambda x: calendar.month_abbr[x])
:
#!/usr/bin/python
import pandas as pd
import matplotlib.pyplot as plt
import calendar
file = 'dates.txt'
df = pd.read_csv("dates.txt", header=None)
df["dates"] = pd.to_datetime(df[0])
#print(df["dates"])
#df.groupby(df["dates"].dt.month).count().plot(kind="bar")
graph = df["dates"].groupby([df["dates"].dt.year, df["dates"].dt.month.apply(lambda x: calendar.month_abbr[x])]).count().plot(kind="bar", y="Calls")
graph.set_ylabel("Call Volume")
graph.set_xlabel("Date")
plt.show()
但这给了我一些意想不到的输出。几个月已转换,但现在它们出现了故障。