【问题标题】:How to get the entire row of a dataframe based on the most recent date如何根据最近的日期获取数据框的整行
【发布时间】:2021-01-19 03:43:33
【问题描述】:

我没有太多使用 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

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

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

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

【问题讨论】:

    标签: python pandas dataframe datetime max


    【解决方案1】:

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

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

    否则:

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

    【讨论】:

    • 谢谢...这很有帮助
    猜你喜欢
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 2022-11-12
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    相关资源
    最近更新 更多