dataframe如何筛选出针对某一列只存在两个指定值的行
时间: 2024-09-10 10:28:10 浏览: 57
DataFrame是Pandas库中的一种数据结构,用于存储表格型数据,支持多种类型的数据操作。要筛选出DataFrame中某一列只存在两个指定值的行,可以使用条件筛选配合`isin`方法。具体步骤如下:
1. 使用`isin`方法生成一个布尔型Series,该Series表示DataFrame中指定列的每个元素是否存在于一个由两个指定值构成的列表中。
2. 使用这个布尔型Series对原始DataFrame进行索引,得到一个新的DataFrame,该DataFrame只包含指定列值为那两个指定值的行。
以下是一个示例代码:
```python
import pandas as pd
# 假设有一个DataFrame如下
df = pd.DataFrame({
'A': [1, 2, 3, 4, 2, 1],
'B': ['a', 'b', 'a', 'b', 'a', 'c']
})
# 我们想要筛选出列'A'中值为1和2的行
specified_values = [1, 2]
filtered_df = df[df['A'].isin(specified_values)]
print(filtered_df)
```
在上面的代码中,`df['A'].isin(specified_values)`会为DataFrame `df` 中的列`'A'`中的每个元素检查是否存在于列表`[1, 2]`中,并返回一个布尔型Series。然后用这个布尔型Series作为索引,从`df`中筛选出列`'A'`的值为1或2的行,结果存储在`filtered_df`中。
阅读全文