içinde aylık günlük kayıtların günlük ortalama veri sayısı datetime64 veri türü olan bir TIMESTAMP
sütun ile DataFrame var. Lütfen unutmayın, başlangıçta bu sütun indeks olarak ayarlanmamıştır; endeks tıpkı normal tamsayı olduğunu ve ilk birkaç satır şuna benzer:Bir Pandas DataFrame
TIMESTAMP TYPE
0 2014-07-25 11:50:30.640 2
1 2014-07-25 11:50:46.160 3
2 2014-07-25 11:50:57.370 2
her gün için kayıtların keyfi bir sayı vardır ve hiçbir veriyle gün olabilir. Almaya çalıştığım şey, aydaortalama günlük kayıt sayısıdır, ardından x ekseninde aylar olan bir çubuk grafik olarak çizim yapar (Nisan 2014, Mayıs 2014 ... vb.). Aşağıdaki çıktıyı verir
dfWIM.index = dfWIM.TIMESTAMP
for i in range(dfWIM.TIMESTAMP.dt.year.min(),dfWIM.TIMESTAMP.dt.year.max()+1):
for j in range(1,13):
print dfWIM[(dfWIM.TIMESTAMP.dt.year == i) & (dfWIM.TIMESTAMP.dt.month == j)].resample('D', how='count').TIMESTAMP.mean()
aşağıdaki kodu kullanarak bu değerleri hesaplamak başardı:
nan
nan
3100.14285714
6746.7037037
9716.42857143
10318.5806452
9395.56666667
9883.64516129
8766.03225806
9297.78571429
10039.6774194
nan
nan
nan
olduğu gibi bu ok ve biraz daha çalışma ile, ben düzeltmek için sonuçlarına eşleyebilirler Ay isimleri, sonra çubuk grafik çizin. Ancak, bunun doğru/en iyi yol olup olmadığından emin değilim ve Panda'ları kullanarak sonuçları elde etmenin daha kolay bir yolu olabileceğinden şüpheleniyorum.
Ne düşündüğünü duymaktan memnun olurum. Teşekkürler!
NOT: TIMESTAMP sütununu dizin olarak ayarlamazsam, "bu işlem için" izin verilmez "hatası alırım.
"groupby" kullanarak nasıl yapılacağını anlayamadım. 'TimeGrouper' ortaya çıktığında hile. Çok teşekkürler! Zaman serileri ile çubuk grafik için x ekseni boyunca biçimlendirme – marillion
düşündüğümden çok daha zordu. Birisi aynı noktada sıkışırsa çözüm http://stackoverflow.com/questions/33642388/pandas-bar-plot-with-multiindex-dataframe adresindedir. – marillion