首页 > 解决方案 > 如何在数据框中按国家/地区获取第一个值的第一个日期 - Python

问题描述

我想在数据框中获取值 > 0 的第一个日期。

看起来很简单,但我无法弄清楚任何事情。我需要得到的东西是按国家分组的。

我试过这样使用:

result.head(1000)
Out[5]:
                    Confirmed  Deaths  Recovered
Country/Region Date
Afghanistan    1/22/20        0.0     0.0        0.0
               1/23/20        0.0     0.0        0.0
               1/24/20        0.0     0.0        0.0
               1/25/20        0.0     0.0        0.0
               1/26/20        0.0     0.0        0.0
...                           ...     ...        ...
Austria        1/27/20        0.0     0.0        0.0
               1/28/20        0.0     0.0        0.0
               1/29/20        0.0     0.0        0.0
               1/30/20        0.0     0.0        0.0
               1/31/20        0.0     0.0        0.0

In [6]: result.query('Confirmed > 0').head(1)
Out[6]:
                        Confirmed  Deaths  Recovered
Country/Region Date
Afghanistan    2/24/20        1.0     0.0        0.0

但正如您所看到的,我只能为 1 个国家/地区获得第一个值,并且我希望所有数据帧的第一个值 > 0 的第一个日期。

请问有什么帮助吗?

标签: pythonpandasdataframe

解决方案


IIUC 你需要:

result.query('Confirmed > 0').groupby('Country/Region').head(1)

推荐阅读