首页 > 解决方案 > 如何从熊猫数据框中按变量删除第一年的数据?

问题描述

我有一个熊猫数据框,其中包含各种股票代码和每天的价格,我希望删除每个符号的第一年数据。

当前数据框:

    Date                   Symbol  Price
    2009-01-01 00:00:00    A       $10.00
    2009-01-02 00:00:00    A       $11.00
    ...
    2010-01-01 00:00:00    A       $12.00
    ...
    2019-01-01 00:00:00    A       $15.00
    2009-01-01 00:00:00    B       $100.00
    ...
    2019-01-01 00:00:00    B       $200.00

目标数据框:

    Date                  Symbol  Price
    2010-01-01 00:00:00    A       $12.00
    ...
    2019-01-01 00:00:00    A       $15.00
    2010-01-01 00:00:00    B       $100.00
    ...
    2019-01-01 00:00:00    B       $200.00

任何帮助表示赞赏,谢谢!

标签: pythonpandas

解决方案


您可以使用 columnData仅获取年份,然后可以使用它来删除行。

如果Date是字符串,那么您可以尝试使用

df["Year"] = df["Date"].str[:4]

并使用字符串过滤"2009"

df = df[ df["Year"] != "2009" ] 

如果它保留Datedatetime对象,那么您可能需要类似的东西

df["Year"] = df["Date"].dt.year

并使用整数过滤2009

df = df[ df["Year"] != 2009 ] 

但我不确定。


推荐阅读