Praktische Beispiele für die Häufigkeitsanalyse
In diesem Abschnitt werden wir einige praktische Beispiele für die Verwendung von Sets zur Durchführung einer Häufigkeitsanalyse in Python untersuchen.
Beispiel 1: Analyse der Worthäufigkeiten in einem Text
Nehmen wir an, wir haben eine Textdatei mit einer Kurzgeschichte, und wir möchten die Häufigkeit der Wörter im Text analysieren.
## Read the text file
with open('story.txt', 'r') as file:
text = file.read().lower().split()
## Count the frequency of words using sets
word_frequencies = {}
for word in set(text):
word_frequencies[word] = text.count(word)
## Sort the words by frequency in descending order
sorted_frequencies = sorted(word_frequencies.items(), key=lambda x: x[1], reverse=True)
## Print the top 10 most frequent words
print("Top 10 Most Frequent Words:")
for word, frequency in sorted_frequencies[:10]:
print(f"{word}: {frequency}")
Dieser Code gibt die 10 am häufigsten vorkommenden Wörter in der Textdatei zusammen mit ihrer Häufigkeit aus.
Beispiel 2: Identifizierung eindeutiger Benutzer-IDs in einer Protokolldatei
Angenommen, Sie haben eine Protokolldatei mit Benutzeraktivitäten, und Sie möchten die eindeutigen Benutzer-IDs in der Datei finden.
## Read the log file
with open('activity_log.txt', 'r') as file:
user_ids = [line.strip().split(',')[0] for line in file]
## Convert the list of user IDs to a set to get the unique IDs
unique_user_ids = set(user_ids)
## Print the unique user IDs
print("Unique User IDs:")
for user_id in unique_user_ids:
print(user_id)
Dieser Code gibt eine Liste der eindeutigen Benutzer-IDs aus, die in der Protokolldatei vorhanden sind.
Beispiel 3: Erkennung von Anomalien in Sensordaten
Stellen Sie sich vor, Sie haben einen Datensatz mit Sensorwerten, und Sie möchten alle anomalen Werte identifizieren, die von der normalen Reichweite abweichen.
## Assume we have a list of sensor readings
sensor_data = [10, 12, 15, 8, 20, 11, 9, 18, 14, 13, 22, 10]
## Convert the sensor data to a set to get the unique readings
unique_readings = set(sensor_data)
## Identify the frequency of each unique reading
for reading in unique_readings:
frequency = sensor_data.count(reading)
print(f"Reading {reading} appears {frequency} times.")
## Detect anomalies (readings that appear only once)
anomalies = [reading for reading in unique_readings if sensor_data.count(reading) == 1]
print("\nAnomalous Readings:")
for anomaly in anomalies:
print(anomaly)
Dieser Code gibt zunächst die Häufigkeit jedes eindeutigen Sensorwerts aus und identifiziert dann alle anomalen Werte, die nur einmal im Datensatz vorkommen.
Durch die Untersuchung dieser praktischen Beispiele können Sie sehen, wie Sets effektiv zur Durchführung einer Häufigkeitsanalyse und zur Bewältigung verschiedener Datenverarbeitungsprobleme in Python verwendet werden können.