Đếm số từ trong chuỗi python

Bạn có thể đếm số từ trong một tệp văn bản bằng Python bằng cách làm theo trình tự các bước mà chúng ta sẽ thảo luận trong hướng dẫn này

Trong hướng dẫn này, chúng ta sẽ học cách đếm số từ trong tệp văn bản, sử dụng các chương trình mẫu Python

Các bước để đếm số từ trong tệp văn bản

Để đếm số từ trong một tệp văn bản, hãy làm theo các bước sau

  1. Mở tệp ở chế độ đọc và xử lý ở chế độ văn bản
  2. Đọc văn bản bằng hàm read[]
  3. Tách văn bản bằng dấu cách. Chúng tôi giả sử rằng các từ trong câu được phân tách bằng ký tự khoảng trắng
  4. Độ dài của danh sách phân chia phải bằng số lượng từ trong tệp văn bản
  5. Bạn có thể tinh chỉnh số lượng bằng cách làm sạch chuỗi trước khi tách hoặc xác thực các từ sau khi tách

ví dụ 1. Đếm Số Từ

Trong ví dụ Python này, chúng ta sẽ đọc một tệp văn bản và đếm số từ trong đó. Xét tệp văn bản sau

Tệp văn bản

Welcome to pythonexamples.org. Here, you will find python programs for all general use cases.

Chương trình Python

file = open["C:\data.txt", "rt"]
data = file.read[]
words = data.split[]

print['Number of words in text file :', len[words]]

đầu ra

Number of words in text file : 14

ví dụ 2. Đếm số từ trong tệp văn bản có nhiều dòng

Trong ví dụ Python này, chúng ta sẽ đọc một tệp văn bản có nhiều dòng và đếm số từ trong đó. Xét tệp văn bản sau

Ký tự dòng mới phân tách các dòng trong tệp văn bản. Dòng mới là một ký tự khoảng trắng và khi chúng ta tách toàn bộ dữ liệu trong tệp văn bản bằng phương thức split[], tất cả các từ trong tất cả các câu đều được tách và trả về dưới dạng một danh sách

File văn bản – dữ liệu. txt

Welcome to www.pythonexamples.org. Here, you will find python programs for all general use cases.
This is another line with some words.

Chương trình Python

file = open["C:\data.txt", "rt"]
data = file.read[]
words = data.split[]

print['Number of words in text file :', len[words]]

đầu ra

Number of words in text file : 21

Bản tóm tắt

Trong hướng dẫn về Ví dụ Python này, chúng ta đã học cách đếm số từ trong Tệp văn bản, với sự trợ giúp của các chương trình ví dụ

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để đếm số lượng từ và tần số từ trong cả chuỗi và tệp văn bản. Có thể đếm từ và tần số từ là một kỹ năng hữu ích. Ví dụ: biết cách thực hiện điều này có thể quan trọng trong các thuật toán học máy phân loại văn bản

Đến cuối hướng dẫn này, bạn sẽ học được

  • Cách đếm số từ trong một chuỗi
  • Cách đếm số từ trong một tệp văn bản
  • Cách tính tần số từ bằng Python

Mục lục

Đọc một tệp văn bản trong Python

Các quy trình đếm từ và tính toán tần số từ được hiển thị bên dưới giống nhau cho dù bạn đang xem xét một chuỗi hay toàn bộ tệp văn bản. Do đó, phần này sẽ mô tả ngắn gọn cách đọc tệp văn bản trong Python

Nếu bạn muốn có hướng dẫn chuyên sâu hơn về cách đọc tệp văn bản trong Python, hãy xem hướng dẫn này tại đây. Đây là một đoạn mã nhanh mà bạn có thể sử dụng để tải nội dung của tệp văn bản vào chuỗi Python

# Reading a Text File in Python
file_path = '/Users/datagy/Desktop/sample_text.txt'

with open[file_path] as file:
    text = file.read[]

Tôi khuyến khích bạn xem hướng dẫn để tìm hiểu lý do và cách thức hoạt động của phương pháp này. Tuy nhiên, nếu bạn đang vội, chỉ cần biết rằng quy trình sẽ mở tệp, đọc nội dung của tệp rồi đóng tệp lại

Đếm số từ trong Python bằng split[]

Một trong những cách đơn giản nhất để đếm số từ trong chuỗi Python là sử dụng hàm

Welcome to www.pythonexamples.org. Here, you will find python programs for all general use cases.
This is another line with some words.
1. Chức năng phân chia trông như thế này

# Understanding the split[] function
str.split[
   sep=None     # The delimiter to split on
   maxsplit=-1  # The number of times to split
]

Theo mặc định, Python sẽ coi các khoảng trắng liên tiếp là một dấu phân cách duy nhất. Điều này có nghĩa là nếu chuỗi của chúng tôi có nhiều khoảng trắng, thì chúng chỉ được coi là một dấu phân cách duy nhất. Hãy xem những gì phương thức này trả về

________số 8

Chúng ta có thể thấy rằng phương thức hiện trả về một danh sách các mục. Vì chúng ta có thể sử dụng hàm

Welcome to www.pythonexamples.org. Here, you will find python programs for all general use cases.
This is another line with some words.
2 để đếm số mục trong danh sách nên chúng ta có thể tạo số từ. Hãy xem nó trông như thế nào

# Counting words with .split[]
text = 'Welcome to datagy! Here you will learn Python and data science.'
print[len[text.split[]]]

# Returns: 11

Đếm số từ trong Python bằng Regex

Một cách đơn giản khác để đếm số từ trong chuỗi Python là sử dụng thư viện biểu thức chính quy,

# Understanding the split[] function
str.split[
   sep=None     # The delimiter to split on
   maxsplit=-1  # The number of times to split
]
0. Thư viện đi kèm với một chức năng,
# Understanding the split[] function
str.split[
   sep=None     # The delimiter to split on
   maxsplit=-1  # The number of times to split
]
1, cho phép bạn tìm kiếm các mẫu chuỗi khác nhau

Bởi vì chúng ta có thể sử dụng biểu thức chính quy để tìm kiếm các mẫu, trước tiên chúng ta phải xác định mẫu của mình. Trong trường hợp này, chúng tôi muốn các mẫu ký tự chữ và số được phân tách bằng khoảng trắng

Đối với điều này, chúng ta có thể sử dụng mẫu

# Understanding the split[] function
str.split[
   sep=None     # The delimiter to split on
   maxsplit=-1  # The number of times to split
]
2, trong đó
# Understanding the split[] function
str.split[
   sep=None     # The delimiter to split on
   maxsplit=-1  # The number of times to split
]
3 đại diện cho bất kỳ ký tự chữ và số nào và
# Understanding the split[] function
str.split[
   sep=None     # The delimiter to split on
   maxsplit=-1  # The number of times to split
]
4 biểu thị một hoặc nhiều lần xuất hiện. Khi mẫu gặp khoảng trắng, chẳng hạn như khoảng trắng, mẫu sẽ dừng mẫu ở đó

Hãy xem cách chúng ta có thể sử dụng phương pháp này để tạo số từ bằng thư viện biểu thức chính quy,

# Understanding the split[] function
str.split[
   sep=None     # The delimiter to split on
   maxsplit=-1  # The number of times to split
]
0

file = open["C:\data.txt", "rt"]
data = file.read[]
words = data.split[]

print['Number of words in text file :', len[words]]
6

Tính tần số từ trong Python

Để tính toán tần số từ, chúng ta có thể sử dụng lớp defaultdict hoặc lớp Counter. Tần số từ thể hiện tần suất một từ nhất định xuất hiện trong một đoạn văn bản

Sử dụng defaultdict để tính tần số từ trong Python

Hãy xem cách chúng ta có thể sử dụng defaultdict để tính toán tần số từ trong Python. Phần mở rộng defaultdict trên từ điển Python thông thường bằng cách cung cấp các chức năng hữu ích để khởi tạo các khóa bị thiếu

Do đó, chúng ta có thể lặp lại một đoạn văn bản và đếm số lần xuất hiện của mỗi từ. Hãy xem cách chúng ta có thể sử dụng nó để tạo tần số từ cho một chuỗi nhất định

file = open["C:\data.txt", "rt"]
data = file.read[]
words = data.split[]

print['Number of words in text file :', len[words]]
7

Hãy phá vỡ những gì chúng tôi đã làm ở đây

  1. Chúng tôi đã nhập cả hàm
    # Understanding the split[] function
    str.split[
       sep=None     # The delimiter to split on
       maxsplit=-1  # The number of times to split
    ]
    6 và thư viện
    # Understanding the split[] function
    str.split[
       sep=None     # The delimiter to split on
       maxsplit=-1  # The number of times to split
    ]
    0
  2. Chúng tôi đã tải một số văn bản và khởi tạo một defaultdict bằng hàm nhà máy
    # Understanding the split[] function
    str.split[
       sep=None     # The delimiter to split on
       maxsplit=-1  # The number of times to split
    ]
    8
  3. Sau đó, chúng tôi lặp lại từng từ trong danh sách từ và thêm một từ cho mỗi lần nó xuất hiện

Sử dụng bộ đếm để tạo tần số từ trong Python

Một cách khác để làm điều này là sử dụng lớp

# Understanding the split[] function
str.split[
   sep=None     # The delimiter to split on
   maxsplit=-1  # The number of times to split
]
9. Lợi ích của phương pháp này là chúng ta thậm chí có thể dễ dàng xác định từ thường xuyên nhất. Hãy xem cách chúng ta có thể sử dụng phương pháp này

Number of words in text file : 14
2

Hãy phá vỡ những gì chúng tôi đã làm ở đây

  1. Chúng tôi đã nhập các thư viện và lớp học cần thiết
  2. Chúng tôi đã chuyển danh sách kết quả từ hàm
    # Understanding the split[] function
    str.split[
       sep=None     # The delimiter to split on
       maxsplit=-1  # The number of times to split
    ]
    1 vào lớp
    # Understanding the split[] function
    str.split[
       sep=None     # The delimiter to split on
       maxsplit=-1  # The number of times to split
    ]
    9
  3. Chúng tôi đã in kết quả của lớp này

Một trong những lợi ích của việc này là chúng ta có thể dễ dàng tìm thấy từ phổ biến nhất bằng cách sử dụng hàm

# Splitting a string with .split[]
text = 'Welcome to datagy! Here you will learn Python and data science.'
print[text.split[]]

# Returns: ['Welcome', 'to', 'datagy!', 'Here', 'you', 'will', 'learn', 'Python', 'and', 'data', 'science.']
2. Hàm trả về một danh sách các bộ dữ liệu được sắp xếp, sắp xếp các mục từ phổ biến nhất đến ít phổ biến nhất. Do đó, chúng ta có thể chỉ cần truy cập vào chỉ mục thứ 0 để tìm từ phổ biến nhất

Number of words in text file : 14
6

Sự kết luận

Trong hướng dẫn này, bạn đã học cách tạo số từ và tần số từ bằng Python. Bạn đã học được một số cách khác nhau để đếm từ bao gồm sử dụng phương pháp

# Splitting a string with .split[]
text = 'Welcome to datagy! Here you will learn Python and data science.'
print[text.split[]]

# Returns: ['Welcome', 'to', 'datagy!', 'Here', 'you', 'will', 'learn', 'Python', 'and', 'data', 'science.']
3 và thư viện
# Understanding the split[] function
str.split[
   sep=None     # The delimiter to split on
   maxsplit=-1  # The number of times to split
]
0. Sau đó, bạn đã học các cách khác nhau để tạo tần số từ bằng cách sử dụng
# Understanding the split[] function
str.split[
   sep=None     # The delimiter to split on
   maxsplit=-1  # The number of times to split
]
6 và
# Understanding the split[] function
str.split[
   sep=None     # The delimiter to split on
   maxsplit=-1  # The number of times to split
]
9. Sử dụng phương thức Counter, bạn có thể tìm thấy từ xuất hiện nhiều nhất trong một chuỗi

Làm cách nào để đếm số lần xuất hiện của một từ trong chuỗi trong Python?

Phương thức count[] trả về số lần xuất hiện của một chuỗi con trong chuỗi đã cho. .
chuỗi con - chuỗi có số đếm được tìm thấy
bắt đầu [Tùy chọn] - chỉ mục bắt đầu trong chuỗi nơi tìm kiếm bắt đầu
kết thúc [Tùy chọn] - chỉ mục kết thúc trong chuỗi nơi tìm kiếm kết thúc

Count[] có hoạt động trên chuỗi không?

Phương thức count[] trả về số lần một giá trị được chỉ định xuất hiện trong chuỗi .

Chủ Đề