编写一个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

更新于: 2021年2月24日

515 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告