Pandas 数据框中每年的条目总数

Posted

技术标签:

【中文标题】Pandas 数据框中每年的条目总数【英文标题】:Sum number of entries for each year in Pandas dataframe 【发布时间】: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 而不是总条目。我对如何做到这一点感到困惑。

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于Pandas 数据框中每年的条目总数的主要内容,如果未能解决你的问题,请参考以下文章

在 python pandas 数据框中添加时间序列强度的廉价方法

Pandas-如何添加条目跳过行的列?

Python Pandas数据框中的行排序/计数

使用 Matplotlib 更改图形颜色以绘制 Pandas 数据框

Pandas DataFrame 按分类列排序,但按特定类排序

Pandas 数据框分组和计数与 Python 中的验证