df按index范围筛选从start_i到end_i
时间: 2024-10-22 08:18:29 浏览: 8
Mastering Pandas_pandas_
要按照索引范围`start_i`到`end_i`筛选DataFrame `df`,你可以使用以下代码片段:
```python
# 假设start_i和end_i是你想要筛选的起始和结束索引
start_i = df.index.get_loc('start_i')
end_i = df.index.get_loc('end_i') + 1 # 注意Python索引是从0开始的,所以需要加1
# 使用布尔索引来过滤 DataFrame
filtered_df = df.iloc[start_i:end_i]
# 如果你想基于日期条件而不是索引,可以使用以下方式筛选特定日期范围内的行
s_date = '2019/9/01' # 假设这是开始日期
e_date = '2019/9/30' # 假设这是结束日期
# 利用布尔条件筛选行(这里假设tra_date列存储日期)
date_filtered_df = df[df['tra_date'] >= s_date & df['tra_date'] <= e_date]
# 根据你的选择,可以执行上述任一操作
# filtered_df 或 date_filtered_df 将会是满足条件的子集
```
请注意,`df.index.get_loc()`用于查找指定索引的位置,如果索引不存在,则返回`NaN`。另外,在获取结束索引时,由于Python索引从0开始,所以我们需要加1。
阅读全文