gemeinsamen – chatgpz.de – KI-Tools & Praxiswissen https://chatgpz.de Unabhängige Tests, Anleitungen und Hintergründe zu KI-Tools. Fri, 12 Sep 2025 20:29:23 +0000 de-DE hourly 1 https://wordpress.org/?v=6.4.2 234900186 Ungewöhnliche Verwendungen der gemeinsamen Python -Standardbibliotheksfunktionen https://chatgpz.de/data-analytics/ungewoehnliche-verwendungen-der-gemeinsamen-python-standardbibliotheksfunktionen/ https://chatgpz.de/data-analytics/ungewoehnliche-verwendungen-der-gemeinsamen-python-standardbibliotheksfunktionen/#respond Fri, 12 Sep 2025 20:29:23 +0000 https://chatgpz.de/data-analytics/ungewoehnliche-verwendungen-der-gemeinsamen-python-standardbibliotheksfunktionen/ [ad_1]

Ungewöhnliche Verwendungen der gemeinsamen Python -StandardbibliotheksfunktionenUngewöhnliche Verwendungen der gemeinsamen Python -Standardbibliotheksfunktionen
Bild von Autor | Ideogramm

# Einführung

Sie kennen die Grundlagen der Standardbibliothek von Python. Sie haben wahrscheinlich Funktionen wie verwendet wie zip() Und groupby() Alltagsaufgaben ohne Aufhebens erledigen. Aber hier ist das, was die meisten Entwickler vermissen: Dieselben Funktionen können überraschend „ungewöhnliche“ Probleme auf eine Weise lösen, die Sie wahrscheinlich nie in Betracht gezogen haben. In diesem Artikel werden einige dieser Verwendungen bekannter Python -Funktionen erläutert.

🔗 Hyperlink zum Code auf GitHub

# 1. itertools.groupby() Für die Kodierung der Lauflänge

Während die meisten Entwickler daran denken groupby() Als einfaches Werkzeug zum logischen Gruppieren von Daten ist es auch für die Codierung von Lauflängen nützlich-eine Komprimierungstechnik, die aufeinanderfolgende identische Elemente zählt. Diese Funktion gruppiert natürlich benachbarte passende Elemente zusammen, sodass Sie sich wiederholende Sequenzen in kompakte Darstellungen umwandeln können.

from itertools import groupby

# Analyze consumer exercise patterns from server logs
user_actions = ('login', 'login', 'browse', 'browse', 'browse',
                'buy', 'logout', 'logout')

# Compress into sample abstract
activity_patterns = ((motion, len(record(group)))
                    for motion, group in groupby(user_actions))

print(activity_patterns)

# Calculate complete time spent in every exercise part
total_duration = sum(depend for motion, depend in activity_patterns)
print(f"Session lasted {total_duration} actions")

Ausgabe:

(('login', 2), ('browse', 3), ('buy', 1), ('logout', 2))
Session lasted 8 actions

Der groupby() Funktion identifiziert aufeinanderfolgende identische Elemente und gruppiert sie zusammen. Indem Sie jede Gruppe in eine Liste umwandeln und ihre Länge messen, zählen Sie, wie oft jede Aktion nacheinander aufgetreten ist.

# 2. zip() mit * für die Matrixtransposition

Matrixtransposition – Zeilen in Säulen umdrehen – wird einfach, wenn Sie sich kombinieren zip() mit Pythons Auspackbetreiber.

Der Auspackbetreiber (*) verbreitet Ihre Matrixzreihen als individuelle Argumente an zip()was sie dann wieder zusammenbaut, indem sie entsprechende Elemente aus jeder Zeile nehmen.

# Quarterly gross sales knowledge organized by product traces
quarterly_sales = (
    (120, 135, 148, 162),  # Product A by quarter
    (95, 102, 118, 125),   # Product B by quarter
    (87, 94, 101, 115)     # Product C by quarter
)

# Rework to quarterly view throughout all merchandise
by_quarter = record(zip(*quarterly_sales))
print("Gross sales by quarter:", by_quarter)

# Calculate quarterly development charges
quarterly_totals = (sum(quarter) for quarter in by_quarter)
growth_rates = ((quarterly_totals(i) - quarterly_totals(i-1)) / quarterly_totals(i-1) * 100
                for i in vary(1, len(quarterly_totals)))
print(f"Development charges: {(f'{charge:.1f}%' for charge in growth_rates)}")

Ausgabe:

Gross sales by quarter: ((120, 95, 87), (135, 102, 94), (148, 118, 101), (162, 125, 115))
Development charges: ('9.6%', '10.9%', '9.5%')

Wir packen zuerst die Pay attention aus und dann die zip() Funktion gruppiert die ersten Elemente aus jeder Liste, dann die zweiten Elemente und so weiter.

# 3. bisect Zur Aufrechterhaltung der sortierten Ordnung

Die Daten zu sortieren, während Sie neue Elemente hinzufügen halbieren Das Modul hält die Reihenfolge automatisch mithilfe von Binär -Suchalgorithmen.

Das Modul verfügt über Funktionen, mit denen Sie den genauen Einfügenpunkt für neue Elemente in logarithmischer Zeit finden können, und platzieren sie dann korrekt, ohne die vorhandene Reihenfolge zu stören.

import bisect

# Preserve a high-score leaderboard that stays sorted
class Leaderboard:
    def __init__(self):
        self.scores = ()
        self.gamers = ()

    def add_score(self, participant, rating):
        # Insert sustaining descending order
        pos = bisect.bisect_left((-s for s in self.scores), -score)
        self.scores.insert(pos, rating)
        self.gamers.insert(pos, participant)

    def top_players(self, n=5):
        return record(zip(self.gamers(:n), self.scores(:n)))

# Demo the leaderboard
board = Leaderboard()
scores = (("Alice", 2850), ("Bob", 3100), ("Carol", 2650),
          ("David", 3350), ("Eva", 2900))

for participant, rating in scores:
    board.add_score(participant, rating)

print("High 3 gamers:", board.top_players(3))

Ausgabe:

High 3 gamers: (('David', 3350), ('Bob', 3100), ('Eva', 2900))

Dies ist nützlich, um Bestandteile, vorrangige Warteschlangen oder eine geordnete Sammlung zu pflegen, die im Laufe der Zeit schrittweise wächst.

# 4. heapq zum Auffinden von Extremen ohne volle Sortierung

Wenn Sie nur die größten oder kleinsten Elemente aus einem Datensatz benötigen, ist die volle Sortierung ineffizient. Der Heapq Modul verwendet Heap -Datenstrukturen, um excessive Werte effizient zu extrahieren, ohne alles zu sortieren.

import heapq

# Analyze buyer satisfaction survey outcomes
survey_responses = (
    ("Restaurant A", 4.8), ("Restaurant B", 3.2), ("Restaurant C", 4.9),
    ("Restaurant D", 2.1), ("Restaurant E", 4.7), ("Restaurant F", 1.8),
    ("Restaurant G", 4.6), ("Restaurant H", 3.8), ("Restaurant I", 4.4),
    ("Restaurant J", 2.9), ("Restaurant Okay", 4.2), ("Restaurant L", 3.5)
)

# Discover prime performers and underperformers with out full sorting
top_rated = heapq.nlargest(3, survey_responses, key=lambda x: x(1))
worst_rated = heapq.nsmallest(3, survey_responses, key=lambda x: x(1))

print("Excellence awards:", (title for title, score in top_rated))
print("Wants enchancment:", (title for title, score in worst_rated))

# Calculate efficiency unfold
best_score = top_rated(0)(1)
worst_score = worst_rated(0)(1)
print(f"Efficiency vary: {worst_score} to {best_score} ({best_score - worst_score:.1f} level unfold)")

Ausgabe:

Excellence awards: ('Restaurant C', 'Restaurant A', 'Restaurant E')
Wants enchancment: ('Restaurant F', 'Restaurant D', 'Restaurant J')
Efficiency vary: 1.8 to 4.9 (3.1 level unfold)

Der Heap -Algorithmus führt eine teilweise Reihenfolge bei, die excessive Werte effizient verfolgt, ohne alle Daten zu organisieren.

# 5. operator.itemgetter Für mehrstufige Sortierung

Komplexe Sortieranforderungen führen häufig zu verwickelten Lambda -Ausdrücken oder einer verschachtelten bedingten Logik. Aber operator.itemgetter Bietet eine elegante Lösung für die Sortierung von Mehrkriterien.

Diese Funktion erstellt wichtige Extraktoren, die mehrere Werte aus Datenstrukturen ziehen und die natürliche Tuple -Sortierung von Python komplexe Bestelllogik ermöglichen.

from operator import itemgetter

# Worker efficiency knowledge: (title, division, performance_score, hire_date)
staff = (
    ("Sarah", "Engineering", 94, "2022-03-15"),
    ("Mike", "Gross sales", 87, "2021-07-22"),
    ("Jennifer", "Engineering", 91, "2020-11-08"),
    ("Carlos", "Advertising and marketing", 89, "2023-01-10"),
    ("Lisa", "Gross sales", 92, "2022-09-03"),
    ("David", "Engineering", 88, "2021-12-14"),
    ("Amanda", "Advertising and marketing", 95, "2020-05-18")
)

sorted_employees = sorted(staff, key=itemgetter(1, 2))
# For descending efficiency inside division:
dept_performance_sorted = sorted(staff, key=lambda x: (x(1), -x(2)))

print("Division efficiency rankings:")
current_dept = None
for title, dept, rating, hire_date in dept_performance_sorted:
    if dept != current_dept:
        print(f"n{dept} Division:")
        current_dept = dept
    print(f"  {title}: {rating}/100")

Ausgabe:

Division efficiency rankings:

Engineering Division:
  Sarah: 94/100
  Jennifer: 91/100
  David: 88/100

Advertising and marketing Division:
  Amanda: 95/100
  Carlos: 89/100

Gross sales Division:
  Lisa: 92/100
  Mike: 87/100

Der itemgetter(1, 2) Funktion extrahiert die Abteilung und die Leistungsbewertung aus jedem Tupel und erzeugt zusammengesetzte Sortierschlüssel. Pythons Tuple -Vergleich sortiert natürlich nach dem ersten Factor (Abteilung), dann nach dem zweiten Factor (Punktzahl) für Elemente mit passenden Abteilungen.

# 6. collections.defaultdict zum Aufbau von Datenstrukturen im laufenden Fliegen

Das Erstellen komplexer verschachtelter Datenstrukturen erfordert in der Regel eine mühsame Existenzüberprüfung, bevor Werte hinzugefügt werden, was zu sich wiederholten bedingten Code führt, die Ihre tatsächliche Logik verdeckt.

Der defaultdict Beseitigt diesen Overhead, indem fehlende Werte automatisch mithilfe der von Ihnen angegebenen Werksfunktionen erstellt werden.

from collections import defaultdict

books_data = (
    ("1984", "George Orwell", "Dystopian Fiction", 1949),
    ("Dune", "Frank Herbert", "Science Fiction", 1965),
    ("Delight and Prejudice", "Jane Austen", "Romance", 1813),
    ("The Hobbit", "J.R.R. Tolkien", "Fantasy", 1937),
    ("Basis", "Isaac Asimov", "Science Fiction", 1951),
    ("Emma", "Jane Austen", "Romance", 1815)
)

# Create a number of indexes concurrently
catalog = {
    'by_author': defaultdict(record),
    'by_genre': defaultdict(record),
    'by_decade': defaultdict(record)
}

for title, creator, style, 12 months in books_data:
    catalog('by_author')(creator).append((title, 12 months))
    catalog('by_genre')(style).append((title, creator))
    catalog('by_decade')(12 months // 10 * 10).append((title, creator))

# Question the catalog
print("Jane Austen books:", dict(catalog('by_author'))('Jane Austen'))
print("Science Fiction titles:", len(catalog('by_genre')('Science Fiction')))
print("Sixties publications:", dict(catalog('by_decade')).get(1960, ()))

Ausgabe:

Jane Austen books: (('Delight and Prejudice', 1813), ('Emma', 1815))
Science Fiction titles: 2
Sixties publications: (('Dune', 'Frank Herbert'))

Der defaultdict(record) Erstellt automatisch leere Pay attention für jeden neuen Schlüssel, den Sie zugreifen, und beseitigen Sie die Notwendigkeit zu überprüfen if key not in dictionary Bevor Werte anhängen.

# 7. string.Template Für eine sichere String -Formatierung

Commonplace -String -Formatierungsmethoden wie F-Strings Und .format() FAIL, wenn erwartete Variablen fehlen. Aber string.Template Hält Ihren Code sogar mit unvollständigen Daten aus. Das Template -System lässt undefinierte Variablen eher an Ort und Stelle als Absturz.

from string import Template

report_template = Template("""
=== SYSTEM PERFORMANCE REPORT ===
Generated: $timestamp
Server: $server_name

CPU Utilization: $cpu_usage%
Reminiscence Utilization: $memory_usage%
Disk Area: $disk_usage%

Lively Connections: $active_connections
Error Fee: $error_rate%

${detailed_metrics}

Standing: $overall_status
Subsequent Verify: $next_check_time
""")

# Simulate partial monitoring knowledge (some sensors could be offline)
monitoring_data = {
    'timestamp': '2024-01-15 14:30:00',
    'server_name': 'web-server-01',
    'cpu_usage': '23.4',
    'memory_usage': '67.8',
    # Lacking: disk_usage, active_connections, error_rate, detailed_metrics
    'overall_status': 'OPERATIONAL',
    'next_check_time': '15:30:00'
}

# Generate report with obtainable knowledge, leaving gaps for lacking data
report = report_template.safe_substitute(monitoring_data)
print(report)
# Output reveals obtainable knowledge stuffed in, lacking variables left as $placeholders
print("n" + "="*50)
print("Lacking knowledge may be stuffed in later:")
additional_data = {'disk_usage': '45.2', 'error_rate': '0.1'}
updated_report = Template(report).safe_substitute(additional_data)
print("Disk utilization now reveals:", "45.2%" in updated_report)

Ausgabe:

=== SYSTEM PERFORMANCE REPORT ===
Generated: 2024-01-15 14:30:00
Server: web-server-01

CPU Utilization: 23.4%
Reminiscence Utilization: 67.8%
Disk Area: $disk_usage%

Lively Connections: $active_connections
Error Fee: $error_rate%

${detailed_metrics}

Standing: OPERATIONAL
Subsequent Verify: 15:30:00


==================================================
Lacking knowledge may be stuffed in later:
Disk utilization now reveals: True

Der safe_substitute() Methodenverfahren verfügbare Variablen und gleichzeitig undefinierte Platzhalter für die spätere Fertigstellung. Dies erzeugt fehlertolerante Systeme, bei denen teilweise Daten eher aussagekräftige teilweise Ergebnisse als einen vollständigen Fehler erzielen.

Dieser Ansatz ist nützlich für das Konfigurationsmanagement, die Erzeugung von Bericht, die E -Mail -Vorlagen oder jedes System, bei dem Daten inkrementell eintrafen oder vorübergehend nicht verfügbar sind.

# Abschluss

Die Python Commonplace Library enthält Lösungen für Probleme, von denen Sie nicht wussten, dass sie sie lösen könnte. Was wir hier diskutiert haben, zeigt, wie vertraute Funktionen nicht triviale Aufgaben erledigen können.

Wenn Sie das nächste Mal eine benutzerdefinierte Funktion schreiben, pausieren Sie und untersuchen, was bereits verfügbar ist. Die Instruments in der Python -Standardbibliothek bieten häufig elegante Lösungen, die schneller und zuverlässiger sind und keine zusätzliche Einrichtung erfordern.

Blissful Coding!

Bala Priya c ist ein Entwickler und technischer Schriftsteller aus Indien. Sie arbeitet gern an der Schnittstelle zwischen Mathematik, Programmierung, Datenwissenschaft und Inhaltserstellung. Ihre Interessensgebiete und Fachgebiete umfassen DevOps, Information Science und natürliche Sprachverarbeitung. Sie liest gerne, schreibt, codieren und Kaffee! Derzeit arbeitet sie daran, ihr Wissen mit der Entwicklergemeinschaft zu lernen und zu teilen, indem sie Tutorials, Anleitungen, Meinungsstücke und vieles mehr autorisiert. Bala erstellt auch ansprechende Ressourcenübersichten und Codierungs -Tutorials.



[ad_2]

]]>
https://chatgpz.de/data-analytics/ungewoehnliche-verwendungen-der-gemeinsamen-python-standardbibliotheksfunktionen/feed/ 0 12338
Erstellen einer gemeinsamen Sprache | MIT Nachrichten https://chatgpz.de/artificial-intelligence/erstellen-einer-gemeinsamen-sprache-mit-nachrichten/ https://chatgpz.de/artificial-intelligence/erstellen-einer-gemeinsamen-sprache-mit-nachrichten/#respond Sat, 08 Feb 2025 20:09:23 +0000 http://chatgpz.de/artificial-intelligence/erstellen-einer-gemeinsamen-sprache-mit-nachrichten/ [ad_1]

In den 15 Jahren seit Kaiming hat sich viel verändert, dass er Doktorandin battle.

„Wenn Sie sich in Ihrer Doktorarbeit befinden, gibt es eine hohe Mauer zwischen verschiedenen Disziplinen und Themen, und es gab sogar eine hohe Mauer in der Informatik“, sagt er. „Der Typ, der neben mir sitzt, könnte Dinge tun, die ich nicht verstehen konnte.“

In den sieben Monaten, seit er dem MIT Schwarzman Faculty of Computing als Douglas Ross (1954) Karriere -Entwicklungsprofessor für Softwaretechnologie in der Abteilung für Elektrotechnik und Informatik beigetragen hat, erlebt er etwas, das seiner Meinung nach „sehr selten in der menschlichen wissenschaftlichen Geschichte “ – eine Senkung der Mauern, die sich in verschiedenen wissenschaftlichen Disziplinen ausdehnt.

„Ich konnte auf keinen Fall jemals eine energiereiche Physik, Chemie oder die Grenze der Biologieforschung verstehen, aber jetzt sehen wir etwas, das uns helfen kann, diese Mauern zu brechen“, sagt er, „und das ist die Schaffung einer Schaffung einer Schaffung einer Erstellung einer Schaffung einer Erstellung einer Schaffung einer Schaffung einer Kreation eines Gemeinsame Sprache, die in der KI gefunden wurde. “

Bau der AI -Brücke

Laut ihm begann diese Verschiebung im Jahr 2012 nach der „Deep Studying Revolution“, einem Punkt, an dem erkannt wurde, dass diese auf neuronalen Netzwerke basierenden Methoden maschineller Lernmethoden so mächtig battle, dass sie stärker genutzt werden konnte.

„Zu diesem Zeitpunkt wurde die Pc Imaginative and prescient – bei der Unterstützung der Pc, die Welt so zu sehen und zu erkennen, als ob sie Menschen sind, sehr schnell zu wachsen, denn wie sich herausstellt, können Sie dieselbe Methodik auf viele verschiedene Probleme und viele verschiedene Bereiche anwenden“ Er. „Die Pc -Imaginative and prescient -Neighborhood wurde additionally schnell sehr groß, da diese verschiedenen Subtopien nun in der Lage waren, eine gemeinsame Sprache zu sprechen und eine gemeinsame Reihe von Instruments zu teilen.“

Von dort aus begann der Pattern, auf andere Bereiche der Informatik zu expandieren, einschließlich der Verarbeitung natürlicher Sprache, der Spracherkennung und der Robotik, der Grundlage für Chatgpt und anderen Fortschritten in Richtung künstlicher allgemeine Intelligenz (AGI).

„All dies ist im letzten Jahrzehnt geschehen und hat uns zu einem neuen aufstrebenden Pattern geführt, auf den ich mich wirklich freue, und das sieht zu, dass die AI -Methodik andere wissenschaftliche Disziplinen verbreitet“, sagt er.

Eines der berühmtesten Beispiele, sagt er, ist Alphafold, ein von Google Deepmind entwickeltes Programm für künstliche Intelligenz, das Vorhersagen der Proteinstruktur durchführt.

„Es ist eine ganz andere wissenschaftliche Disziplin, ein ganz anderes Downside, aber die Menschen verwenden auch die gleichen KI -Instruments, die gleiche Methodik, um diese Probleme zu lösen“, sagt er, „und ich denke, das ist nur der Anfang.“

Die Zukunft der KI in der Wissenschaft

Seit er im Februar 2024 zum MIT gekommen ist, hat er in quick jeder Abteilung mit Professoren gesprochen. An manchen Tagen befindet er sich im Gespräch mit zwei oder mehr Professoren aus sehr unterschiedlichen Hintergründen.

„Ich verstehe ihren Forschungsbereich sicherlich nicht vollständig, aber sie werden nur einen Kontext einführen, und dann können wir in ihren Problemen über tiefgreifendes Lernen, maschinelles Lernen, (und) neuronale Netzwerkmodelle sprechen“, sagt er. „In diesem Sinne sind diese KI -Instruments wie eine gemeinsame Sprache zwischen diesen wissenschaftlichen Bereichen: Die Instruments für maschinelles Lernen“ übersetzen „ihre Terminologie und Konzepte in Begriffe, die ich verstehen kann, und dann kann ich ihre Probleme lernen und meine Erfahrungen und manchmal auch manchmal teilen Lösungen oder Möglichkeiten vorschlagen, die sie erkunden können. “

Die Erweiterung auf verschiedene wissenschaftliche Disziplinen hat ein erhebliches Potenzial, von der Verwendung der Videoanalyse bis zur Vorhersage von Wetter- und Klimabetrendungen bis hin zur Beschleunigung des Forschungszyklus und zur Reduzierung der Kosten in Bezug auf die Entdeckung neuer Arzneimittel.

Während KI -Instruments die Arbeit von IS Scientist -Kollegen einen klaren Nutzen bieten, stellt er auch den gegenseitigen Effekt fest, den sie über die Schaffung und Fortschritt der KI hatten und hatten.

„Wissenschaftler bieten neue Probleme und Herausforderungen an, die uns helfen, diese Instruments weiter zu entwickeln“, sagt er. „Es ist aber auch wichtig, sich daran zu erinnern, dass viele der heutigen KI -Instruments aus früheren wissenschaftlichen Bereichen stammen – beispielsweise künstlichen neuronalen Netzwerken wurden von biologischen Beobachtungen inspiriert. Diffusionsmodelle für die Bilderzeugung wurden aus dem Physikbegriff motiviert. “

„Wissenschaft und KI sind keine isolierten Themen. Wir haben uns dem gleichen Ziel aus verschiedenen Perspektiven nähert, und jetzt treffen wir uns. “

Und welchen besseren Ort für sie gibt es für sie zusammen als MIT.

„Es ist nicht verwunderlich, dass MIT diese Veränderung früher als an vielen anderen Orten sehen kann“, sagt er. „(Das MIT Schwarzman Faculty of Computing) hat eine Umgebung geschaffen, die verschiedene Menschen verbindet und sie zusammensitzen, zusammen reden, zusammenarbeiten, ihre Ideen austauschen, gleichzeitig dieselbe Sprache sprechen – und ich sehe, dass dies beginnt.“

Wenn die Wände vollständig senken, stellt er fest, dass dies eine langfristige Investition ist, die über Nacht nicht stattfinden wird.

„Vor Jahrzehnten galten Pc als Excessive -Tech angesehen, und Sie brauchten spezifische Kenntnisse, um sie zu verstehen, aber jetzt benutzt jeder einen Pc“, sagt er. „Ich erwarte in 10 oder mehr Jahren, jeder wird in irgendeiner Weise eine Artwork KI für seine Forschung verwenden – es sind nur ihre grundlegenden Instruments, ihre grundlegende Sprache und sie können KI verwenden, um ihre Probleme zu lösen.“

[ad_2]

]]>
https://chatgpz.de/artificial-intelligence/erstellen-einer-gemeinsamen-sprache-mit-nachrichten/feed/ 0 7081