如何根据最近的日期获取数据框的整行
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:]
我没有太多使用 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:]