美文网首页Pandas技巧
Pandas_Select_Data_isin

Pandas_Select_Data_isin

作者: Kaspar433 | 来源:发表于2020-03-31 21:29 被阅读0次

    Pandas_Select_Data_isin

    Series 对象可以使用isin()方法,返回一个布尔数组,然后再选择数据。

    import pandas as pd
    import numpy as np
    ​
    iris = pd.read_csv('iris.csv')
    iris.head(2)
    
    out:
    sepal_length    sepal_width petal_length    petal_width species
    0   5.1 3.5 1.4 0.2 setosa
    1   4.9 3.0 1.4 0.2 setosa
    
    iris.species.unique()
    
    out:
    array(['setosa', 'versicolor', 'virginica'], dtype=object)
    
    iris[iris.species.isin(['setosa','virginica'])]
    
    out:
    sepal_length    sepal_width petal_length    petal_width species
    0   5.1 3.5 1.4 0.2 setosa
    1   4.9 3.0 1.4 0.2 setosa
    2   4.7 3.2 1.3 0.2 setosa
    3   4.6 3.1 1.5 0.2 setosa
    4   5.0 3.6 1.4 0.2 setosa
    ... ... ... ... ... ...
    145 6.7 3.0 5.2 2.3 virginica
    146 6.3 2.5 5.0 1.9 virginica
    147 6.5 3.0 5.2 2.0 virginica
    148 6.2 3.4 5.4 2.3 virginica
    149 5.9 3.0 5.1 1.8 virginica
    100 rows × 5 columns
    
    iris[iris.index.isin(list(range(0,100,2)))].head()
    
    out:
    sepal_length    sepal_width petal_length    petal_width species
    0   5.1 3.5 1.4 0.2 setosa
    2   4.7 3.2 1.3 0.2 setosa
    4   5.0 3.6 1.4 0.2 setosa
    6   4.6 3.4 1.4 0.3 setosa
    8   4.4 2.9 1.4 0.2 setosa
    

    DataFrame也有一个isin()方法。调用时isin,将一组值作为数组或字典传递。如果values是一个数组,则isin返回与原始DataFrame形状相同的布尔数据框,并在元素序列中的任何位置使用True。

    values = [5.1, 3.4, 1.3, 'setosa']
    iris.head().isin(values)
    
    out:
    sepal_length    sepal_width petal_length    petal_width species
    0   True    False   False   False   True
    1   False   False   False   False   True
    2   False   False   True    False   True
    3   False   False   False   False   True
    4   False   False   False   False   True
    

    通常,需要将某些值与某些列匹配。只需将值设置dict为键为列的位置,值即为要检查的项目列表

    values = {'sepal_length': [5.1, 3.4], 'species': ['setosa', 'virginica']}
    iris.head().isin(values)
    
    out:
    sepal_length    sepal_width petal_length    petal_width species
    0   True    False   False   False   True
    1   False   False   False   False   True
    2   False   False   False   False   True
    3   False   False   False   False   True
    4   False   False   False   False   True

    相关文章

      网友评论

        本文标题:Pandas_Select_Data_isin

        本文链接:https://www.haomeiwen.com/subject/wgaguhtx.html