用 Python 编写程序以仅过滤给定系列中的整数元素
输入-假设您有以下系列-
0 1 1 2 2 python 3 pandas 4 3 5 4 6 5
输出-只有整数元素的结果是-
0 1 1 2 4 3 5 4 6 5
解决方案1
定义一个系列。
在正则表达式中应用lambda过滤器方法来验证数字,表达式只接受字符串,因此将所有元素转换为字符串。它定义如下,
data = pd.Series(ls) result = pd.Series(filter(lambda x:re.match(r"\d+",str(x)),data))
最后,使用isin()函数检查值。
例子
让我们看看下面的实现,以便更好地理解。
import pandas as pd ls = [1,2,"python","pandas",3,4,5] data = pd.Series(ls) for i,j in data.items(): if(type(j)==int): print(i,j)
输出
0 1 1 2 4 3 5 4 6 5
解决方案2
例子
import pandas as pd import re ls = [1,2,"python","pandas",3,4,5] data = pd.Series(ls) result = pd.Series(filter(lambda x:re.match(r"\d+",str(x)),data)) print(data[data.isin(result)])
输出
0 1 1 2 4 3 5 4 6 5