給定一個文件是這樣的:交叉表數據幀從表文件重採樣日期時間
date uselessinfo category uselessinfo2
2011-07-22 02:56:36 banana 1 apple
2011-02-27 17:15:44 banana 4 apple
2010-12-12 00:13:42 banana 1 apple
2010-10-12 00:13:00 banana 2 apple
我使用的大熊貓建立一個數據幀:
data = pd.read_table(pathToFile, "\t")
從這個我儘量用簡單大熊貓方法建立一個交叉表矩陣,如:
1 2 3 4
2010 1 1 0 0
2011 1 0 0 1
其中,列是類別,行是日期分箱,值是t他在這些箱子發生的類別
我的問題是,我不知道如何將日期時間或年或月,然後建立交叉表矩陣。 我看到的計算器的重採樣功能是倉日期時間和交叉的最佳方法,然後建立矩陣:
data = data.resample('M', on='date').sum()
data = pd.crosstab(data.date,data.category)
有沒有辦法來這兩個功能結合起來,以獲得所需的矩陣?還是我完全做錯了?
要達到的目標是利用這個矩陣來繪製seaborn熱圖看起來像:
工作真的很好,容易調教! 我只是想知道重採樣線(我現在評論)。爲什麼類別正在改變,而我們指定我們想對'日期'重新抽樣? – Vanpourix
嗯,如果按月重新採樣並需要日期,那麼所有日期都將轉換爲月份的最後一個日期。這是在熊貓設計。也許alo可以檢查[docs](http://pandas.pydata.org/pandas-docs/stable/timeseries.html#resampling) – jezrael
而且ategories也會發生變化,因爲它按月計算並按總和彙總 - 所以類別是數字並加以總結。 – jezrael