python pandas isin
时间: 2023-11-12 18:59:50 浏览: 146
`pandas` 中的 `isin` 函数用于判断一个序列中的元素是否在另一个序列中出现过,返回一个布尔型的序列。例如,我们可以使用 `isin` 函数来筛选出某个 DataFrame 中某一列中的特定值所在的行。
示例代码如下:
```python
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': ['a', 'b', 'c', 'd']})
print(df)
# 判断 B 列中是否包含 'a' 和 'c'
mask = df['B'].isin(['a', 'c'])
print(mask)
# 筛选出 B 列中包含 'a' 和 'c' 的行
result = df[mask]
print(result)
```
输出结果如下:
```
A B
0 1 a
1 2 b
2 3 c
3 4 d
0 True
1 False
2 True
3 False
Name: B, dtype: bool
A B
0 1 a
2 3 c
```
相关问题
python pandas isin 查找
Python的pandas库提供了一个非常有用的函数isin(),用于在DataFrame或Series中查找特定值。
isin()函数的语法为:
```
pandas.isin(values)
```
其中values可以是一个列表、元组、Series或DataFrame。
当values为一个列表或元组时,isin()函数会返回一个布尔值的Series,指示DataFrame或Series中的每个元素是否在values中出现。
例如,我们有一个DataFrame df,包含一列名为"fruit"的水果名称:
```
df = pd.DataFrame({'fruit': ['apple', 'banana', 'orange', 'kiwi']})
```
我们可以使用isin()函数来查找是否存在特定的水果,比如苹果和橙子:
```
fruits_to_check = ['apple', 'orange']
df['is_fruit_present'] = df['fruit'].isin(fruits_to_check)
```
这样,我们就可以得到一个新的DataFrame,多了一列"is_fruit_present",表示每个水果是否存在。
当values为Series或DataFrame时,isin()函数会进行元素间的逐一比较,返回一个布尔值的Series或DataFrame。
例如,我们有一个Series s,包含一些水果名称:
```
s = pd.Series(['apple', 'banana', 'orange', 'kiwi'])
```
我们可以使用isin()函数来查找s中的每个元素是否在df的水果列中出现:
```
df['is_present_in_df'] = s.isin(df['fruit'])
```
这样,我们就可以得到一个新的DataFrame,多了一列"is_present_in_df",表示s中的每个水果是否在df中出现。
总之,Python的pandas库中的isin()函数提供了一种方便的方式来查找DataFrame或Series中的特定值或元素,可以用于各种数据分析和处理的场景中。
pandas isin
The `isin()` function in the pandas library is used to filter a DataFrame or Series based on whether its elements are contained in a specified set or list. It returns a boolean mask indicating whether each element is in the specified set or list.
Here's an example of how you can use `isin()`:
```python
import pandas as pd
# create a DataFrame
data = {'col1': [1, 2, 3, 4, 5],
'col2': ['a', 'b', 'c', 'd', 'e']}
df = pd.DataFrame(data)
# filter the DataFrame based on values in col1
filtered_df = df[df['col1'].isin([2, 4])]
print(filtered_df)
```
Output:
```
col1 col2
1 2 b
3 4 d
```
In this example, `isin([2, 4])` filters the rows in the DataFrame where the values in `col1` are either 2 or 4. The resulting DataFrame (`filtered_df`) contains only the rows with those values.
阅读全文