从熊猫数据框中查找最后一笔交易

时间:2017-03-15 00:34:04

标签: python pandas dataframe

我有一个交易表,其形式(为简单起见):

    Ticker    Timestamp    price
0    AAPL       9:30:00   139
1    FB         11:33:14   110

等等。现在,我想提取每个股票代码当天的最后交易,这当然是可能的(假设原始表名为trades)。

trades['Timestamp']=pd.to_datetime(trades['Timestamp'])
aux = trades.groupby(['Ticker'])['Timestamp'].max()
auxdf = aux.to_frame()
auxdf = auxdf.reset_index()
closing = pd.merge(left=trades,right=auxdf, left_on=['Ticker','Timestamp'],right_on=['Ticker', 'Timestamp'])

现在,这有效,但我不确定它是最优雅还是最有效的方法。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

尝试使用ix和idxmax:

trades['Timestamp']=pd.to_datetime(trades['Timestamp']
trades.ix[trades.groupby('Ticker').Timestamp.idxmax()]