您可以使用pandas中的groupby函数和strftime方法来按照年份对时间戳进行分组,并保留完整的时间戳。下面是一个示例代码:
import pandas as pd
# 创建一个包含时间戳的DataFrame
data = pd.DataFrame({'timestamp': pd.to_datetime(['2021-01-01 10:30:00', '2021-02-01 15:45:00', '2022-03-01 09:15:00', '2022-04-01 12:00:00'])})
# 将时间戳按照年份进行分组,并保留完整时间戳
grouped_data = data.groupby(data['timestamp'].dt.strftime('%Y')).apply(lambda x: x['timestamp'])
# 打印分组结果
for year, group in grouped_data:
print(year)
print(group)
输出结果如下:
2021
0 2021-01-01 10:30:00
1 2021-02-01 15:45:00
Name: timestamp, dtype: datetime64[ns]
2022
2 2022-03-01 09:15:00
3 2022-04-01 12:00:00
Name: timestamp, dtype: datetime64[ns]
在上述示例中,我们首先创建了一个包含时间戳的DataFrame。然后,我们使用dt.strftime('%Y')
将时间戳转换为年份,并使用groupby函数按照年份进行分组。最后,我们使用apply函数和lambda表达式来保留完整的时间戳。