Giả sử bạn có một chuỗi và kết quả để lọc các số khó,
original series is 0 153 1 323 2 371 3 420 4 500 dtype: int64 Armstrong numbers are:- 0 153 2 371 dtype: int64
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước dưới đây -
-
Xác định một chuỗi.
-
Tạo một danh sách trống và đặt vòng lặp for để truy cập tất cả dữ liệu chuỗi.
-
Đặt giá trị intial armstrong là 0 và tạo biến tạm thời để lưu trữ từng phần tử của chuỗi. Nó được định nghĩa bên dưới,
l = [] for val in data: armstrong = 0 temp = val
-
Tạo vòng lặp while và kiểm tra nhiệt độ> 0 và tính phần dư theo nhiệt độ% 10. Thêm giá trị armstrong bằng cách lấy khối của phần dư và chia giá trị tạm thời cho 10 cho đến khi nó đạt đến 0 để kết thúc vòng lặp. Nó được định nghĩa bên dưới,
while(temp>0): rem = temp % 10 armstrong = armstrong + (rem**3) temp = temp // 10
-
Đặt điều kiện if để so sánh giá trị ban đầu với giá trị tạm thời. Nếu nó được khớp, thì nối các giá trị vào danh sách.
if(armstrong==val): l.append(val)
-
Cuối cùng, kiểm tra các giá trị danh sách có trong chuỗi bằng cách sử dụng isin (). Nó được định nghĩa bên dưới,
data[data.isin(l)]
Ví dụ
Hãy xem đoạn mã dưới đây để triển khai tốt hơn -
import pandas as pd data = pd.Series([153,323,371,420,500]) print("original series is\n", data) l = [] for val in data: armstrong = 0 temp = val while(temp>0): rem = temp % 10 armstrong = armstrong + (rem**3) temp = temp // 10 if(armstrong==val): l.append(val) print("Armstrong numbers are:-") print(data[data.isin(l)])
Đầu ra
original series is 0 153 1 323 2 371 3 420 4 500 dtype: int64 Armstrong numbers are:- 0 153 2 371 dtype: int64