簡體   English   中英

Pandas:從具有不同時間序列的兩個數據幀中添加兩列

[英]Pandas: Adding Two Columns From Two Dataframes With Different Time Series

我有兩個數據幀(我們稱它們為df_1df_2 ):

epoch_ns                        net
1635747118006744249               64.75
1635747144020144197             -135.27

epoch_ns                        net
1635747085588589391              -15.25
1635747224568306088             -775.29
1635747242571214411               24.66

我想同時添加df_1['net']df_2['net']以得到這樣的結果數據幀:

epoch_ns                        net
1635747085588589391              -15.25
1635747118006744249                49.5
1635747144020144197             -150.52
1635747224568306088             -910.56
1635747242571214411             −910.56

一種方法是以 1ms 的頻率重新采樣兩個幀(失去精度),但是當我的兩個幀的水平時間很長時,它可能會使用大量內存。

任何其他更有效的方法(時間明智和內存明智)?

您可以使用pandas.concatcumsum

(pd.concat([df1,df2])
   .sort_values(by='epoch_ns')
   .assign(net=lambda d:d['net'].cumsum())
 )

輸出:

              epoch_ns     net
0  1635747085588589391  -15.25
0  1635747118006744249   49.50
1  1635747144020144197  -85.77
1  1635747224568306088 -861.06
2  1635747242571214411 -836.40

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM