用于过滤给定系列中的完全平方数的 Python 程序
pythonserver side programmingprogramming更新于 2024/2/18 16:53:00
输入 −
假设您有一个系列,
0 14 1 16 2 30 3 49 4 80
输出 −
完全平方元素的结果是,
0 4 1 16 3 49
解决方案 1
我们可以使用正则表达式和 lambda 函数过滤方法来找到完全平方值。
定义一个系列。
应用 lambda 过滤方法来检查值是否是完全平方。定义如下,
l = [14,16,30,49,80] data=pd.Series([14,16,30,49,80]) result =pd.Series(filter(lambda x: x==int(m.sqrt(x)+0.5)**2,l))
最后,使用 isin() 函数检查系列的值列表。
示例
import pandas as pd import math as m l = [4,16,30,49,80] data = pd.Series(l) print(data) lis = [] for i in range(len(data)): for j in data: if(data[i]==int(m.sqrt(j)+0.5)**2): lis.append(data[i]) print(“Perfect squares in the series: \n”, data[data.isin(lis)])
输出
Given series: 0 4 1 16 2 30 3 49 4 80 dtype: int64 Perfect Squares in the series: 0 4 1 16 3 49 dtype: int64
解决方案 2
示例
import re import math as m l = [14,16,30,49,80] data = pd.Series([14,16,30,49,80]) print(“Given series:\n”, data) result = pd.Series(filter(lambda x: x==int(m.sqrt(x)+0.5)**2,l)) print(data[data.isin(result)])
输出
Given series: 0 14 1 16 2 30 3 49 4 80 dtype: int64 Perfect squares: 1 16 3 49 dtype: int64