Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 比较两个系列时,如何基于一个系列进行过滤?_Python_Pandas_Dataframe - Fatal编程技术网

Python 比较两个系列时,如何基于一个系列进行过滤?

Python 比较两个系列时,如何基于一个系列进行过滤?,python,pandas,dataframe,Python,Pandas,Dataframe,我用的是熊猫系列。我有一个数字列表,我想与另一个进行比较,我想根据一个匹配另一个的情况返回True和False。例如: phone_series = pd.Series(['5555555', '5542394', '3431111', '3432222']) filter_list = pd.Series(['555', '222', '3431', '999']) 我尝试使用的是.isinPandas方法,但它只匹配精确的模式 phone_series.str[:3].isin(filte

我用的是熊猫系列。我有一个数字列表,我想与另一个进行比较,我想根据一个匹配另一个的情况返回True和False。例如:

phone_series = pd.Series(['5555555', '5542394', '3431111', '3432222'])
filter_list = pd.Series(['555', '222', '3431', '999'])
我尝试使用的是
.isin
Pandas方法,但它只匹配精确的模式

phone_series.str[:3].isin(filter_list)

0    True
1    False
2    False
3    False
dtype: bool

如果过滤器列表只有3个字符,那么我可以使用电话系列中的前3个字符进行比较,但是列表中的一些字符是3、4甚至5。以下是输出的内容:

True
False
True
False
与名为
filter\u list
Series
中的元组一起使用(如果
list
而不是
Series
,则工作相同):

print (phone_series.str.startswith(tuple(filter_list)))
0     True
1    False
2     True
3    False
dtype: bool