用 Python 编写一个程序来过滤给定系列中的整数元素

pythonpandasserver side programmingprogramming更新于 2024/6/17 1:16:17

输入 − 假设您有以下系列 −

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

相关文章


有用资源