회문 이름 인쇄 결과는 -
Palindrome names are: Id Name 0 1 bob 2 3 hannah
이 문제를 해결하기 위해 다음 접근 방식을 따릅니다 -
해결책 1
-
데이터 프레임 정의
-
i 변수를 사용하여 df['Name'] 열의 모든 값에 액세스하기 위해 루프 내에서 목록 이해를 생성하고 i==i[::-1]를 비교할 조건을 설정한 다음 목록에 i 값을 추가합니다.
l = [ i for i in df['Name'] if(i==i[::-1])]
-
마지막으로 isin()을 사용하여 df['Name'] 열에 있는 목록 값을 확인합니다.
df[df['Name'].isin(l)]
예시
더 나은 이해를 위해 다음 코드를 확인합시다 -
import pandas as pd data = {'Id':[1,2,3,4,5],'Name':['bob','peter','hannah','james','david']} df = pd.DataFrame(data) print("DataFrame is:\n", df) l = [ i for i in df['Name'] if(i==i[::-1])] print("Palindrome names are:\n", df[df['Name'].isin(l)])
출력
DataFrame is: Id Name 0 1 bob 1 2 peter 2 3 hannah 3 4 james 4 5 david Palindrome names are: Id Name 0 1 bob 2 3 hannah
해결책 2
-
데이터 프레임 정의
-
람다 필터 함수를 적용하여 df['Name'] 각 값을 반전된 함수와 비교하면 동일한 결과가 반환되는지 여부가 반환됩니다. 값이 일치하면 결과 목록으로 저장합니다.
result = list(filter(lambda x:(x=="".join(reversed(x))),df['Name']
-
마지막으로 isin()을 사용하여 df['Name'] 열에 있는 목록 값을 확인합니다.
df[df['Name'].isin(result)]
예시
더 나은 이해를 위해 다음 코드를 확인합시다 -
import pandas as pd data = {'Id':[1,2,3,4,5],'Name':['bob','peter','hannah','james','david']} df = pd.DataFrame(data) print("DataFrame is:\n", df) result = list(filter(lambda x:(x=="".join(reversed(x))),df['Name'])) print("Palindrome names are:\n", df[df['Name'].isin(result)])
출력
DataFrame is: Id Name 0 1 bob 1 2 peter 2 3 hannah 3 4 james 4 5 david Palindrome names are: Id Name 0 1 bob 2 3 hannah