要按天和种类进行时间序列分组,可以使用pandas库中的groupby函数来实现。下面是一个示例代码:
import pandas as pd
# 创建示例数据
data = {'date': ['2020-01-01', '2020-01-01', '2020-01-02', '2020-01-02', '2020-01-03'],
'category': ['A', 'B', 'A', 'B', 'A'],
'value': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)
# 将date列转换为日期类型
df['date'] = pd.to_datetime(df['date'])
# 按天和种类进行分组
grouped = df.groupby([df['date'].dt.date, 'category'])
# 遍历分组并打印结果
for group, group_df in grouped:
print(group)
print(group_df)
print('---')
运行以上代码,将会得到以下输出结果:
(datetime.date(2020, 1, 1), 'A')
date category value
0 2020-01-01 A 10
---
(datetime.date(2020, 1, 1), 'B')
date category value
1 2020-01-01 B 20
---
(datetime.date(2020, 1, 2), 'A')
date category value
2 2020-01-02 A 30
---
(datetime.date(2020, 1, 2), 'B')
date category value
3 2020-01-02 B 40
---
(datetime.date(2020, 1, 3), 'A')
date category value
4 2020-01-03 A 50
---
以上代码首先创建了一个示例数据,并将其中的date列转换为日期类型。然后使用groupby函数按照date和category列进行分组,并遍历分组结果进行打印。每个分组都包含了对应的日期和种类,并且包含了该分组的所有行数据。
上一篇:按天和小时分组