编写一个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 filter方法来验证数字,表达式只接受字符串,因此将所有元素转换为字符串。定义如下:
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
广告