https://drive.google.com/file/d/1g5RQOUwa92xYJRH_DFLVLvBQXkZzDq74/view?usp=sharing 檔案連結
想建立一個每月份的次數統計如下圖,下圖的程式碼也附上了
圖一
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from datetime import datetime, timedelta
df=pd.read_csv('./data/test.csv',engine='python',parse_dates=[1])
df['AcceptDate'] = pd.to_datetime(df['AcceptDate']) #将数据类型转换为日期类型
df = df.set_index('AcceptDate') # 将date设置为index
df_period=df.to_period('M')
g1=df.groupby(df_period.index.asfreq('M')).size()
a1=np.array(g1)
df2=pd.read_csv('./data/test.csv',engine='python')
g1=df2.drop_duplicates(subset= ['AcceptDate'],inplace = True)#重複值去掉
d1=df2['AcceptDate'].str.split("/").str.get(0).str.title()
d2=df2['AcceptDate'].str.split("/").str.get(1).str.title()
d3=d1+'-'+d2
l1 = np.array(d3)
l2 = []
for i in l1:
if not i in l2:
l2.append(i)
a2=np.array(l2)
plt.xlim(0,11)
plt.ylim(0,400,50)
plt.title('2017-odorcase',fontsize = 15)
plt.xlabel('Month',fontsize = 15)
plt.ylabel('Case Number',fontsize = 15)
plt.xticks(rotation=45,fontsize = 10)# 第一个標籤旋轉角度
lines=plt.plot(a2,a1)
plt.setp(lines,marker = "o")
plt.tight_layout()
fig = plt.gcf()
plt.show()
fig.savefig('test1.png', dpi=100)
裡頭df2是想建立時間軸,獨立拉出年月份,請問可以從.size()裡調出它的標題嗎?
感覺df2的程式碼有點東拼西湊的(這程式碼是我打的)
圖二
--------------------------------分隔線---------------------------------------
後來也有嘗試設定月份的index拉出來,但因為是週期變成不能匯入圖表,請問是要換成其他格式嗎?
圖三
df = df.set_index('AcceptDate') # 将date设置为index
df_period=df.to_period('M')
g1=df.groupby(df_period.index).size()
y1=np.array(g1)
d3=df_period.index
l1 = np.array(d3)
l2 = []
for i in l1:
if not i in l2:
l2.append(i)
y2=np.array(l2)
如果可以希望兩個問題能夠幫我解答一下,最近爬得文有點不知道怎麼代入自己的情況中,感謝大家!
新增
兩個問題分別是
如何從.size()那條程式碼,取出它的標題(圖片為.size()各月份個數)?
圖片為取出的資料為週期,如要換成折線圖(圖一所示),要如何換成其他格式?