要按日期对多级索引的pandas数据帧进行切片,可以使用pandas的loc方法。下面是一个示例代码:
import pandas as pd
# 创建一个多级索引的数据帧
data = {'date': ['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-01', '2020-01-02', '2020-01-03'],
'category': ['A', 'A', 'A', 'B', 'B', 'B'],
'value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])
df.set_index(['date', 'category'], inplace=True)
print(df)
# 按日期切片数据帧
start_date = '2020-01-02'
end_date = '2020-01-03'
sliced_df = df.loc[start_date:end_date]
print(sliced_df)
输出结果:
value
date category
2020-01-01 A 1
2020-01-02 A 2
2020-01-03 A 3
2020-01-01 B 4
2020-01-02 B 5
2020-01-03 B 6
value
date category
2020-01-02 A 2
2020-01-03 A 3
2020-01-02 B 5
2020-01-03 B 6
在示例中,首先创建了一个包含日期、类别和值的字典。然后,将日期列转换为日期时间类型,并设置为数据帧的索引。接下来,使用loc方法按日期对数据帧进行切片,将切片结果存储在sliced_df变量中。最后,打印切片后的数据帧。
上一篇:按日期匹配Mongo元素
下一篇:按日期取消分组并在顶层进行总结