按 Pandas 中的年份将日期分组

Grouping dates together by year in Pandas

我有一个包含 属性 个价格的数据集,它们目前按 'DATE_SOLD' 列出。我希望能够按年计算它们。数据集看起来像这样 -

SALE_DATE   COUNTY  SALE_PRICE
0   2010-01-01  Dublin  343000.0
1   2010-01-03  Laois   185000.0
2   2010-01-04  Dublin  438500.0
3   2010-01-04  Meath   400000.0
4   2010-01-04  Kilkenny    160000.0

这是我试过的代码 -

by_year = property_prices['SALE_DATE'] = pd.to_datetime(property_prices['SALE_DATE'])
print(by_year)

我想我很接近,但作为一个圣经菜鸟,这很令人沮丧!

感谢您提供的任何帮助;到目前为止,这个网站在寻找让我的生活更轻松的小提示和技巧方面一直很棒

你很接近。正如您所做的那样,您可以使用 pd.to_datetime 将 sale_date 转换为日期时间列。然后 groupby 年份,使用 dt.year 获取日期时间的年份,并使用 size() 计算每个组的大小,在本例中为年份。

property_prices['SALE_DATE'] = pd.to_datetime(property_prices['SALE_DATE'])
property_prices.groupby(property_prices.SALE_DATE.dt.year).size()

打印:

SALE_DATE
2010    5
dtype: int64
import pandas as pd

sample_dict = {'Date':['2010-01-11', '2020-01-22', '2010-03-12'], 'Price':[1000,2000,3500]}

df = pd.DataFrame(sample_dict)

# Creating 'year' column using the Date column
df['year'] = df.apply(lambda row: row.Date.split('-')[0], axis=1)

# Groupby function
df1 = df.groupby('Year')

# Print the first value in each group
df1.first()

输出:

            Date  x
year
2010  2010-01-11  1
2020  2020-01-22  2