Python中isin用法解析(python)

Python中的isin()函数是一种常用的方法,它可以用于快速检查一个数据是否在另一个序列中,以及获取子集。在本文中,我们将会从多个方面对isin详细进行解析。

一、isin()函数的参数

isin()函数所接受的参数非常灵活,可以是列表、元组、字典、Series或DataFrame对象等。下面是isin()函数的参数说明:


pandas.DataFrame.isin(values)
pandas.Series.isin(values)
  • values:可以是可迭代的对象(列表、元组、集合等),或者是其他的Series/DataFrame。

二、Series/DataFrame中的isin()用法

isin()函数最常见的使用场景就是在Series或DataFrame中查找指定值,以下代码示例中展示了一个查找DataFrame中指定值的例子:


import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': ['a', 'b', 'c', 'd']})
print(df.isin([1, 'b']))

上述代码输出如下结果:


      A      B
0  True  False
1 False   True
2 False  False
3 False  False

输出结果中,isin()函数将DataFrame中与函数参数匹配上的值标记为True,并将没有匹配上的值标记为False。

下面是在Series对象中使用isin()函数的代码示例:


import pandas as pd

s = pd.Series(['dog', 'cat', 'bird', 'panda'])
print(s.isin(['cat', 'dog']))

上述代码输出如下结果:


0     True
1     True
2    False
3    False
dtype: bool

输出结果中,isin()函数将Series中与函数参数匹配上的值标记为True,并将没有匹配上的值标记为False。

三、isin()函数的高级用法

isin()函数除了可以简单地用于查找指定值外,还可以被用于获取子集。以下代码示例展示了这个例子:


import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': ['a', 'b', 'c', 'd']})
subset = df[df['B'].isin(['a', 'c'])]
print(subset)

上述代码输出如下结果:


   A  B
0  1  a
2  3  c

输出结果是一个新的DataFrame,其中仅包含B列匹配上指定值的行。

此外,isin()函数也可以用于快速过滤掉不需要的数据。下面是一个过滤DataFrame中特定列的代码示例:


import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': ['a', 'b', 'c', 'd']})
filtered = df[df.columns[~df.columns.isin(['B'])]]
print(filtered)

上述代码输出下面的结果:


   A
0  1
1  2
2  3
3  4

输出结果是一个新的DataFrame,其中过滤掉了指定列B。

四、isin()函数的注意事项

虽然isin()函数非常灵活,但是需要注意以下几点:

  • isin()函数匹配的过程中是基于值而不是基于索引的。

  • isin()函数匹配大小写,因此在进行匹配时需要注意大小写的问题。

  • isin()函数默认不支持模糊匹配,但是可以通过str方法进行支持。

下面是一个str方法的代码示例:


import pandas as pd

df = pd.DataFrame({'A': ['foo', 'bar', 'baz'], 'B': ['apple', 'banana', 'orange']})
subset = df[df['B'].str.contains('a')]
print(subset)

上述代码输出如下结果:


     A       B
0  foo   apple
1  bar  banana
2  baz  orange

输出结果是一个新的DataFrame,其中仅包含B列中包含字母”a”的行。

五、总结

本文中详细解析了Python中isin()函数的用法,并从多个方面给出了代码示例。通过对本文的学习,相信读者已经对isin()函数有了更加深入的了解,可以更好地应用于实际工作和项目开发中。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平