【问题标题】:Sum number of entries for each year in Pandas dataframePandas 数据框中每年的条目总数
【发布时间】:2021-11-06 11:48:06
【问题描述】:

我有一个来自国家飓风中心的数据集,其中包含所有飓风的条目,每个飓风都有一个唯一的名称。每个飓风都有很多条目。我正在尝试收集每年的飓风数量。完整数据集为:https://www.kaggle.com/noaa/hurricane-database

数据看起来像这样(缩写):

ID,Name,Date
AL011851,UNNAMED,18510625
AL011851,UNNAMED,18510625
AL011851,UNNAMED,18510625
AL021851,UNNAMED,18510705
AL031852,UNNAMED,18520710
AL041852,UNNAMED,18520816
AL041852,UNNAMED,18520810

我的代码是:

df = pd.read_csv("atlantic.csv")

#Convert date to pandas datetime
df["Date"] = pd.to_datetime(df["Date"].astype(str), format="%Y%m%d")
print(df.head(15))

df2 = pd.to_datetime(df["Date"]).dt.year.value_counts()

df2 只给了我当年的条目总数。我需要一个唯一的 ID 而不是总条目。我对如何做到这一点感到困惑。

【问题讨论】:

    标签: python pandas group-by sum


    【解决方案1】:

    为了获得每年唯一的 ID 计数,请使用此

    df2 = df.set_index("Date").resample('Y').nunique()['ID']
    

    df2 = df.groupby(df.Date.dt.year).nunique()['ID']
    

    【讨论】:

      猜你喜欢
      • 2021-04-23
      • 1970-01-01
      • 1970-01-01
      • 2021-08-27
      • 2019-06-24
      • 1970-01-01
      • 2017-06-23
      • 2018-06-16
      • 2019-11-11
      相关资源
      最近更新 更多