dataframe 仅保留某些行
时间: 2024-09-25 14:18:53 浏览: 38
在Pandas DataFrame中,如果你只想保留特定的行,你可以根据索引、条件或列值进行过滤。以下是一些常用的方法:
1. **基于索引**:
如果你知道要保留哪些行的索引,你可以直接使用`loc[]`或`iloc[]`函数。
```python
df = df.loc[index_list] # 使用整数索引
df = df.iloc[row_indices, column_indices] # 使用位置索引
```
其中`index_list`是包含你要保留行索引的列表,`row_indices`和`column_indices`是切片或列表,表示行和列的范围。
2. **基于条件**:
如果你想基于某一列或多列的条件筛选行,可以使用布尔索引来选择满足条件的行。
```python
filtered_df = df[df[column_name] == value] # 按单个条件
filtered_df = df[(df[col1] > val1) & (df[col2] < val2)] # 按多个条件
```
3. **使用`query()`函数**:
这种方法适合复杂的查询表达式。
```python
filtered_df = df.query('some_condition')
```
这里的'some_condition'是你想要应用的SQL-like查询语句。
4. **使用`drop_duplicates()`**:
如果你需要去除重复的行,可以先检查并删除它们。
```python
unique_df = df.drop_duplicates()
```
阅读全文