下面的代碼在熊貓12.0上爲我工作,但在熊貓13上不再有效(每個記錄的處理時間@ 1分鐘,以前的200k條記錄是在一個小時左右處理)。熊貓數據框 - 增加多索引數據框中某個時間範圍子集的值
我懷疑有一個更優雅的方式來實現相同的結果。如果有人能指引我朝着正確的方向,那會很好。
我創建像這樣的數據框:
pubs = ['pub1','pub2','pub3','pub4','pub5']
panel = pd.Panel(np.random.randn(2,2200,5), items=['variableA','variableB'], major_axis=pd.date_range('20110101', periods=2200), minor_axis=pubs)
df_sub = panel.to_frame()
df_sub.ix[:] = 0
我增加值是這樣的:
startDate = time.ctime(time.mktime(time.strptime(meh,"%d/%m/%Y %H:%M:%S")))
TempRng = pd.date_range(startDate, periods=75)
for eachDay in TempRng:
df_sub.ix[eachDay,pubID]['variableA'] +=1
df_sub.ix[eachDay,pubID]['variableB'] += 5
^^這是最後它用來做工精細,一個月前這一部分,但現在研磨至停下來。在還有老版熊貓的不同機器上,處理速度是可以接受的。
做這個增量的正確方法是什麼?
你的榜樣的第二部分有很多未定義的變量。請製作一個可複製的例子。 – Jeff
嗨,Jeff,我已編輯刪除大部分變量。 PubID將是頂部pubs []列表中的單個值。 – Sylvansight