입력 -
시리즈가 있다고 가정합니다.
0 14 1 16 2 30 3 49 4 80
출력 -
완전 정사각형 요소의 결과는 다음과 같습니다.
0 4 1 16 3 49
해결책 1
정규식과 람다 함수 필터 방법을 사용하여 완벽한 제곱 값을 찾을 수 있습니다.
-
시리즈를 정의하십시오.
-
람다 필터 방법을 적용하여 값이 완전제곱수인지 확인합니다. 아래에 정의되어 있습니다.
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