Đầu vào - Giả sử bạn có một chuỗi,
0 fruits!! 1 *cakes* 2 $nuts 3 #drinks dtype: object
Đầu vào - Kết quả cho tổng số lần đếm của nhiều hơn một ký tự đặc biệt trong một chuỗi là 2.
Hãy để chúng tôi cố gắng tìm ra các giải pháp khác nhau cho câu hỏi này.
Giải pháp 1
Để 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 danh sách giá trị các ký tự đặc biệt.
-
Đặt giá trị ban đầu của ký tự đặc biệt và tổng giá trị đếm ký tự đặc biệt là 0.
-
Tạo vòng lặp for và lần lượt truy cập tất cả các giá trị trong Chuỗi và tạo điều kiện if để so sánh giá trị dựa trên ký tự đặc biệt như sau -
for i in data: chars_count = 0 for j in list(i): if j in special_char: chars_count = chars_count+1
-
Đặt điều kiện if và kiểm tra giá trị đếm. Nếu số đếm> 1, thì in tổng số.
Nó được định nghĩa bên dưới -
if(chars_count>1): total_count = total_count+1 print(total_count)
Giải pháp 2
Ngoài ra, chúng ta có thể sử dụng biểu thức chính quy và phương pháp lọc hàm lambda để tìm tổng số.
Để 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
-
Áp dụng phương pháp lọc lambda để xác thực đầu vào dựa trên char () đặc biệt.
-
Tìm chiều dài lớn hơn một. Nó được định nghĩa bên dưới -
l=["fruits!!","*cakes*","$nuts","#drinks"] data=pd.Series(filter(lambda x:1<len(re.findall(r"\W",x)),l))
Ví dụ
Hãy cho chúng tôi xem việc triển khai để hiểu rõ hơn -
import pandas as pd import string l = ["Fruits!!","*Cakes*","$Nuts","#Drinks"] data = pd.Series(l) chars=string.punctuation special_char=list(chars) total_count = 0 for i in data: chars_count = 0 for j in list(i): if j in special_char: chars_count = chars_count+1 if(chars_count>1): total_count = total_count+1 print(total_count)
Giải pháp 3
Ví dụ
import pandas as pd import re l=["fruits!!","*cakes*","$nuts","#drinks"] data=pd.Series(filter(lambda x:1<len(re.findall(r"\W",x)),l)) print("count:",len(data))
Đầu ra
Kết quả của chương trình trên như sau -
2