

Bild von Autor | Ideogramm
Die ausdrucksstarke Syntax von Python und ihre integrierten Module und externen Bibliotheken ermöglichen es, komplexe mathematische und statistische Operationen mit bemerkenswert prägnantem Code durchzuführen.
In diesem Artikel werden wir einige nützliche Einzeiler für die mathematische und statistische Analyse durchgehen. Diese Einzeiler zeigen, wie Sie sinnvolle Informationen aus Daten mit minimalem Code extrahieren und gleichzeitig die Lesbarkeit und Effizienz beibehalten können.
🔗 Hyperlink zum Code auf GitHub
Beispieldaten
Bevor wir unsere Einzeiler codieren, erstellen wir einige Beispieldatensätze, mit denen wir arbeiten können:
import numpy as np
import pandas as pd
from collections import Counter
import statistics
# Pattern datasets
numbers = (12, 45, 7, 23, 56, 89, 34, 67, 21, 78, 43, 65, 32, 54, 76)
grades = (78, 79, 82, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96)
sales_data = (1200, 1500, 800, 2100, 1800, 950, 1600, 2200, 1400, 1750,3400)
temperatures = (55.2, 62.1, 58.3, 64.7, 60.0, 61.8, 59.4, 63.5, 57.9, 56.6)
Bitte beachten Sie: In den folgenden Code -Snippets habe ich die Druckanweisungen ausgeschlossen.
1. Berechnen Sie Mittelwert, Median und Modus
Bei der Analyse von Datensätzen benötigen Sie häufig mehrere Messungen der zentralen Tendenz, um die Verteilung Ihrer Daten zu verstehen. Dieser One-Liner berechnet alle drei Schlüsselstatistiken in einem einzigen Ausdruck und bietet einen umfassenden Überblick über die zentralen Merkmale Ihrer Daten.
stats = (statistics.imply(grades), statistics.median(grades), statistics.mode(grades))
Dieser Ausdruck verwendet das Statistikmodul von Python, um den arithmetischen Mittelwert, den mittleren Wert und den häufigsten Wert in einer Tupelzuordnung zu berechnen.
2. Finden Sie Ausreißer mit Interquartilbereich
Das Erkennen von Ausreißern ist für die Datenqualitätsbewertung und die Erkennung von Anomalie erforderlich. Dieser One-Liner implementiert die Customary-IQR-Methode, um Werte zu kennzeichnen, die signifikant außerhalb des typischen Bereichs fallen, und helfen Ihnen dabei, potenzielle Dateneingabefehler oder wirklich ungewöhnliche Beobachtungen zu erkennen.
outliers = (x for x in sales_data if x < np.percentile(sales_data, 25) - 1.5 * (np.percentile(sales_data, 75) - np.percentile(sales_data, 25)) or x > np.percentile(sales_data, 75) + 1.5 * (np.percentile(sales_data, 75) - np.percentile(sales_data, 25)))
Dieses Listenverständnis berechnet das erste und dritte Quartile, bestimmt den IQR und identifiziert Werte über das 1,5 -fache des IQR aus den Quartilgrenzen hinaus. Die boolesche Logik filtert den ursprünglichen Datensatz, um nur die abgelegenen Werte zurückzugeben.
3. Berechnen Sie die Korrelation zwischen zwei Variablen
Manchmal müssen wir die Beziehungen zwischen Variablen verstehen. Dieser Einzeiler berechnet den Pearson-Korrelationskoeffizienten, quantifiziert die lineare Beziehungsstärke zwischen zwei Datensätzen und bietet einen sofortigen Einblick in ihre Assoziation.
correlation = np.corrcoef(temperatures, grades(:len(temperatures)))(0, 1)
Die Numpy Corcoef-Funktion gibt eine Korrelationsmatrix zurück, und wir extrahieren das Off-Diagonal-Component, das die Korrelation zwischen unseren beiden Variablen darstellt. Das Slicing stellt sicher, dass beide Arrays übereinstimmende Abmessungen für die ordnungsgemäße Korrelationsberechnung aufweisen.
np.float64(0.062360807968294615)
4. Generieren Sie eine beschreibende Statistikzusammenfassung
Eine umfassende statistische Zusammenfassung liefert wesentliche Einblicke in die Verteilungsmerkmale Ihrer Daten. Dieser One-Liner erstellt ein Wörterbuch mit wichtigen beschreibenden Statistiken, das ein vollständiges Bild der Eigenschaften Ihres Datensatzes in einem einzigen Ausdruck bietet.
abstract = {stat: getattr(np, stat)(numbers) for stat in ('imply', 'std', 'min', 'max', 'var')}
Dieses Wörterbuchverständnis verwendet .getattr() Um numpy Funktionen dynamisch aufzurufen und eine saubere Zuordnung statistischer Namen zu ihren berechneten Werten zu erstellen.
{'imply': np.float64(46.8),
'std': np.float64(24.372662281061267),
'min': np.int64(7),
'max': np.int64(89),
'var': np.float64(594.0266666666666)}
5. Normalisieren Sie die Daten auf Z-Scores
Die Standardisierung von Daten in Z-Scores ermöglicht aussagekräftige Vergleiche in verschiedenen Skalen und Verteilungen. Dieser Einzeiler verwandelt Ihre Rohdaten in standardisierte Einheiten und drückt jeden Wert als Anzahl der Standardabweichungen vom Mittelwert aus.
z_scores = ((x - np.imply(numbers)) / np.std(numbers) for x in numbers)
Das Listenverständnis wendet die Z-Rating-Formel auf jedes Component an, subtrahiert den Mittelwert und dividiert durch die Standardabweichung.
(np.float64(-1.4278292456807755),
np.float64(-0.07385323684555724),
np.float64(-1.6329771258073238),
np.float64(-0.9765039094023694),
np.float64(0.3774720994328488),
...
np.float64(0.29541294738222956),
np.float64(1.1980636199390418))
6. Berechnen Sie den gleitenden Durchschnitt
Die Glättung von Zeitreihendaten hilft, kurzfristige Schwankungen und Rauschen zu verringern. Dieser Einzeiler berechnet einen Rolldurchschnitt über ein bestimmtes Fenster und bietet eine sauberere Ansicht der Richtungsbewegung Ihrer Daten.
moving_avg = (np.imply(sales_data(i:i+3)) for i in vary(len(sales_data)-2))
Das Listenverständnis erstellt überlappende Fenster von drei aufeinanderfolgenden Werten und berechnet den Mittelwert für jedes Fenster. Diese Technik ist besonders nützlich für Finanzdaten, Sensorwerte und sequentielle Messungen, bei denen eine Trendidentifizierung wichtig ist.
(np.float64(1166.6666666666667),
np.float64(1466.6666666666667),
np.float64(1566.6666666666667),
np.float64(1616.6666666666667),
np.float64(1450.0),
np.float64(1583.3333333333333),
np.float64(1733.3333333333333),
np.float64(1783.3333333333333),
np.float64(2183.3333333333335))
7. Finden Sie den häufigsten Wertebereich
Das Verständnis von Datenverteilungsmustern erfordert häufig die Identifizierung von Konzentrationsbereichen in Ihrem Datensatz. Dieser Ein-Liner-Eingang breitet Ihre Daten in Bereiche und findet das besiedelte Intervall, wodurch sich Ihre Werte am dichtsten befinden.
most_frequent_range = Counter((int(x//10)*10 for x in numbers)).most_common(1)(0)
Die Ausdrucksfächerwerte bewerben sich in Jahrzehnten und erzeugen eine Frequenzzahl mit Verwendung Counterund extrahiert den häufigsten Bereich. Dieser Ansatz ist für die Histogrammanalyse und das Verständnis der Datenverteilungsmerkmale ohne komplexe Darstellung wertvoll.
8. Berechnen Sie die jährliche Wachstumsrate der zusammengesetzten
Finanzielle und Geschäftsanalysen erfordert häufig das Verständnis der Wachstumskurven im Laufe der Zeit. Dieser One-Liner berechnet die jährliche Wachstumsrate von Compound und bietet ein standardisiertes Maß für die Investitions- oder Geschäftsleistung in verschiedenen Zeiträumen.
cagr = (sales_data(-1) / sales_data(0)) ** (1 / (len(sales_data) - 1)) - 1
Die Formel übernimmt das Verhältnis der endgültigen Anfangswerte, erhöht es auf die Leistung des gegenseitigen Zeitraums und subtrahiert einen, um die Wachstumsrate zu erhalten. Diese Berechnung geht davon aus, dass jeder Datenpunkt einen Zeitraum in Ihrer Analyse darstellt.
9. Rennen Sie die Gesamtzahlen berechnen
Kumulative Berechnungen tragen dazu bei, progressive Veränderungen zu verfolgen und Flexionspunkte in Ihren Daten zu identifizieren. Dieser Einzeiler generiert laufende Gesamtzahl und zeigt, wie sich im Laufe der Zeit Werte ansammeln.
running_totals = (sum(sales_data(:i+1)) for i in vary(len(sales_data)))
Das Listenverständnis erweitert das Slice von Anfang an in jede Place und berechnet kumulative Summen.
(1200, 2700, 3500, 5600, 7400, 8350, 9950, 12150, 13550, 15300, 18700)
10. Variationskoeffizient berechnen
Der Vergleich der Variabilität zwischen Datensätzen mit verschiedenen Skalen erfordert relative Dispersionsmaße. Dieser Einzeiler berechnet den Variationskoeffizienten und drückt die Standardabweichung als Prozentsatz des Mittelwerts für aussagekräftige Vergleiche über verschiedene Messeinheiten hinweg aus.
cv = (np.std(temperatures) / np.imply(temperatures)) * 100
Die Berechnung unterteilt die Standardabweichung nach dem Mittelwert und multipliziert sich um 100, um das Ergebnis als Prozentsatz auszudrücken. Dieses standardisierte Variabilitätsmaß ist besonders nützlich, wenn Datensätze mit verschiedenen Einheiten oder Skalen verglichen werden.
np.float64(4.840958085381635)
Abschluss
Diese Python-Einzeiler zeigen, wie mathematische und statistische Operationen mit minimalem Code durchgeführt werden. Der Schlüssel zum Schreiben eines effektiven Einzeilers liegt darin, die Übersichtlichkeit mit der Lesbarkeit in Einklang zu bringen und sicherzustellen, dass Ihr Code aufrechterhalten bleibt und gleichzeitig die Effizienz maximiert.
Denken Sie daran, dass zwar Einzeiler leistungsstark sind, komplexe Analysen möglicherweise davon profitieren, Operationen in mehrere Schritte zu unterteilen, um das Debuggen zu erleichtern.
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, Knowledge 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.
