我有一個名為 df_trade_prices_up_to_snap 的 DataFrame,它有大約 295k 行,看起來像這樣:

對于 DataFrame 中的每個代碼,我需要獲取最后的交易價格并將其附加到新的 DataFrame 中。資料框已正確排序。
我寫了一個可行的小程式:
df_trade_prices_at_snap = pd.DataFrame()
ticker_list = list(df_trade_prices_up_to_snap.ticker.unique())
for ticker in ticker_list:
df_trade_prices_at_snap = df_trade_prices_at_snap.append(df_trade_prices_up_to_snap[df_trade_prices_up_to_snap.ticker == ticker].tail(1))
運行該回圈大約需要六秒鐘,這對于我的需要來說太長了。有人可以建議一種以更快的方式獲取結果 DataFrame 的方法嗎?
uj5u.com熱心網友回復:
如果價格按時間順序排列,您可以使用groupby_last:
df_trade_prices_at_snap = df.groupby('ticker')['trade_price'].last()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/422648.html
標籤:
