我試圖追加或添加行到現有的數據庫有大約700萬行。如何加速追加到現有的數據幀
現在我面臨的挑戰是,我能夠以下列方式使用iterrows
做相同的:
for key,value in df.iterrows():
if value['col3'] > 0:
df.loc[len(df),['col1','col2','col3','col4','col5']] = [value['col1']+value['col3'],value['col2'],value['col3'],value['col4'],'blah']
,並在下述方式使用itertuples
:
for tup in df.itertuples(index = False):
if tup[4] > 0:
df.loc[len(df),['col1','col2','col3','col4','col5']] = [tup[1]+ tup[3],tup[2], tup[3],tup[4],'blah']
這兩種做這項工作,但它正在處理時間。
有人可以建議我一個更好的方法來做到這一點在Python熊貓?
你能解釋一下你想在這裏做什麼,追加行是高度非高性能,因爲它需要成長和可能複製內容定期,例如在你的第一個循環中,你所做的就是複製所有的行值,除了col3,你要添加col1。 – EdChum
@EdChum我想在這裏實現的是,我有一個開始時間轉換爲時間和花在應用程序上的時間秒,這是需要添加給我2行1與應用程序使用的開始時間和應用程序的停止時間使用。 我這樣做的原因是,我想要捕獲的開始和結束時間之間可能會有點擊事件來處理數據 –