如何根据最近的日期获取数据框的整行

How to get the entire row of a dataframe based on the most recent date

我没有太多使用 pandas 数据帧的经验,但我有这段代码:

myAAPL = Testdf.loc["AAPL"]

print(myAAPL)

它产生:

        date                             ...      quantity    average_price
symbol                                                  
AAPL    2020-12-31T14:28:48.019000Z      ...      1.0         134.01
AAPL    2020-10-28T19:57:59.169000Z      ...      1.0         111.24
AAPL    2020-10-08T16:48:35.459000Z      ...      4.0         115.34
AAPL    2020-10-01T13:05:07.388000Z      ...      4.0         117.58
AAPL    2020-09-03T13:13:01.069000Z      ...      1.0         127.29
AAPL    2020-02-28T14:30:06.407000Z      ...      2.0         257.49
AAPL    2020-01-03T16:36:38.132000Z      ...      2.0         298.63

我想获取并删除最近的行(by date/time)。我在想我可以用“pop”来做到这一点吗?但我不知道怎么办。我试过了:

myAAPL = Testdf.loc["AAPL"].max()

但这并不奏效。它返回每列的最大值。我基本上需要找到最近的日期并获取该行的日期、数量和平均价格。

您可以简单地对数据帧进行切片以删除第一行。假设数据框已经正确排序:

myAAPL = Testdf.loc["AAPL"][1:]

否则:

myAAPL = Testdf.loc["AAPL"].sort_values(by='date',ascending=False)[1:]