Detaillierte Erläuterung des Workflows zur visuellen Datenanalyse in Python

Dieser Artikel wurde von der Huawei Cloud Community „ A Comprehensive Guide to Python Visual Data Analysis from Data Acquisition to Insight Discovery “ von Lemony Hug geteilt.

In der Welt der Datenwissenschaft und -analyse ist Visualisierung ein leistungsstarkes Werkzeug, das uns hilft, Daten zu verstehen, Muster zu entdecken und Erkenntnisse abzuleiten. Python bietet eine Fülle von Bibliotheken und Tools, um den Workflow der visuellen Datenanalyse effizient und flexibel zu gestalten. In diesem Artikel wird der Workflow der visuellen Datenanalyse in Python vorgestellt, von der Datenerfassung bis zur endgültigen visuellen Anzeige der Erkenntnisse.

1. Datenerfassung

Bevor Sie mit der Datenanalyse beginnen, müssen Sie zunächst die Daten beschaffen. Python bietet verschiedene Bibliotheken zur Verarbeitung von Daten aus verschiedenen Quellen, z. B. Pandas zur Verarbeitung strukturierter Daten, Anfragen zum Abrufen von Netzwerkdaten oder die Verwendung spezialisierter Bibliotheken zur Verbindung mit Datenbanken. Beginnen wir mit einem einfachen Beispiel, dem Laden von Daten aus einer CSV-Datei:

Pandas als PD importieren

# Daten aus CSV-Datei laden
data = pd.read_csv('data.csv')

# Sehen Sie sich die ersten Datenzeilen an
print(data.head())

2. Datenbereinigung und Vorverarbeitung

Sobald die Daten geladen sind, erfolgt im nächsten Schritt die Datenbereinigung und Vorverarbeitung. Dazu gehört der Umgang mit fehlenden Werten, Ausreißern, Datentransformationen usw. Auch die Visualisierung spielt in dieser Phase oft eine wichtige Rolle und hilft uns, Probleme in den Daten zu erkennen. Beispielsweise können wir Matplotlib oder Seaborn verwenden, um verschiedene Diagramme zu zeichnen, um die Verteilung und Beziehungen der Daten zu untersuchen:

matplotlib.pyplot als plt importieren
Seaborn als SNS importieren

# Histogramm zeichnen
plt.hist(data['column_name'], bins=20)
plt.title('Verteilung von Spaltenname')
plt.xlabel('Wert')
plt.ylabel('Frequenz')
plt.show()

# Zeichnen Sie ein Streudiagramm
sns.scatterplot(x='column1', y='column2', data=data)
plt.title('Streudiagramm von Spalte1 vs. Spalte2')
plt.show()

3. Datenanalyse und Modellierung

Nach der Datenbereinigung und Vorverarbeitung führen wir normalerweise eine Datenanalyse und -modellierung durch. Dies kann Techniken wie statistische Analysen und maschinelles Lernen umfassen. In dieser Phase kann uns die Visualisierung helfen, die Beziehungen zwischen Daten besser zu verstehen und die Leistung des Modells zu bewerten. Wenn wir beispielsweise Seaborn verwenden, um eine Korrelationsmatrix zu zeichnen, können wir die Korrelation zwischen Merkmalen besser verstehen:

# Korrelationsmatrix zeichnen
korrelationsmatrix = data.corr()
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm')
plt.title('Korrelationsmatrix')
plt.show()

4. Präsentation der Ergebnisse und Gewinnung von Erkenntnissen

Schließlich können wir durch die visuelle Darstellung der Ergebnisse der Datenanalyse Erkenntnisse und Schlussfolgerungen klarer kommunizieren. Dies kann eine einfache statistische Zusammenfassung oder eine komplexe interaktive Visualisierung sein. Verwenden Sie beispielsweise Plotly, um interaktive Diagramme zu erstellen:

plotly.express als px importieren

# Erstellen Sie ein interaktives Streudiagramm
fig = px.scatter(data, x='column1', y='column2', color='category', hover_data=['additional_info'])
fig.show()

5. Fortgeschrittene Techniken und Optimierung

Zusätzlich zu den grundlegenden Visualisierungstechniken gibt es in Python viele fortgeschrittene Techniken und Optimierungsmethoden, die den Datenanalyse-Workflow leistungsfähiger und effizienter machen können.

5.1 Anpassen von Diagrammen mit Plotly Express

Plotly Express bietet viele benutzerfreundliche Funktionen zum Erstellen verschiedener Arten von Diagrammen, aber manchmal benötigen wir mehr Anpassungsoptionen. Durch die Kombination von Plotly Express mit den grundlegenden Diagrammobjekten von Plotly können wir eine erweiterte Anpassung erreichen. Fügen Sie beispielsweise Kommentare hinzu, passen Sie den Diagrammstil usw. an:

plotly.express als px importieren
importiere plotly.graph_objects als go

#Erstellen Sie ein Streudiagramm
fig = px.scatter(data, x='column1', y='column2', color='category', hover_data=['additional_info'])

# Notizen hinzufügen
fig.add_annotation(x=5, y=5, text="Wichtiger Punkt", showarrow=True, Pfeilspitze=1)

#Diagrammstil anpassen
fig.update_traces(marker=dict(size=10, line=dict(width=2, color='DarkSlateGrey')), selector=dict(mode='markers'))

fig.show()

5.2 Visuelle Interaktion mit Interact

In Umgebungen wie Jupyter Notebook kann die Verwendung der visuellen Interaktion von Interact die Datenanalyse dynamischer und intuitiver gestalten. Erstellen Sie beispielsweise ein interaktives Steuerelement, um die Parameter des Diagramms zu steuern:

von ipywidgets importieren interagieren

@interact(column='column1', bins=(5, 20, 1))
def plot_histogram(column, bins):
    plt.hist(data[column], bins=bins)
    plt.title(f'Distribution of {column}')
    plt.xlabel('Wert')
    plt.ylabel('Frequenz')
    plt.show()

5.3 Verwendung von Visualisierungsbibliothekserweiterungen

Neben gängigen Visualisierungsbibliotheken wie Matplotlib, Seaborn und Plotly gibt es viele weitere Visualisierungsbibliotheken, die unsere Toolbox erweitern können. Beispielsweise stellen Bibliotheken wie Altair und Bokeh Diagramme mit unterschiedlichen Stilen und Funktionen bereit, und Sie können das passende Tool entsprechend Ihren Anforderungen auswählen.

Altair als alt importieren

alt.Chart(data).mark_bar().encode(
    x='Kategorie',
    y='count()'
).interactive()

6. Automatisierung und Stapelverarbeitung

Automatisierung und Stapelverarbeitung sind von entscheidender Bedeutung, wenn große Datenmengen verarbeitet werden oder wiederholte Analysen erforderlich sind. Python bietet eine Fülle von Bibliotheken und Tools, um dies zu erreichen, beispielsweise mithilfe von Schleifen, Funktionen oder fortgeschritteneren Tools wie Dask oder Apache Spark.

6.1 Stapelverarbeitung von Daten mithilfe von Schleifen

Angenommen, wir haben mehrere Datendateien, die denselben Analysevorgang erfordern, können wir eine Schleife verwenden, um diese Dateien stapelweise zu verarbeiten und die Ergebnisse miteinander zu kombinieren:

Importieren Sie uns

data_files = os.listdir('data_folder')

Ergebnisse = []

für Datei in data_files:
    data = pd.read_csv(os.path.join('data_folder', file))
    # Führen Sie Datenanalysevorgänge durch
    # ...
    results.append(result)

6.2 Verwenden Sie Funktionen, um Schritte der Wiederholbarkeitsanalyse zu kapseln

Wenn wir eine Reihe von Datenanalyseschritten haben, die wiederholt ausgeführt werden müssen, können wir sie als Funktionen kapseln, sodass sie für verschiedene Daten wiederverwendet werden können:

defanalysate_data(data):
    # Datenbereinigung und Vorverarbeitung
    # ...
    #Datenanalyse und Modellierung
    # ...
    #Ergebnisanzeige und Erkenntnisgewinnung
    # ...
    Erkenntnisse zurückgeben

#Funktion auf jeden Datensatz anwenden
results = [analyze_data(data) für Daten in data_sets]

6.3 Verwenden Sie Dask oder Apache Spark, um verteiltes Computing zu implementieren

Bei großen Datensätzen kann die Einzelmaschinenberechnung möglicherweise nicht die Anforderungen erfüllen. In diesem Fall können Sie Distributed-Computing-Frameworks wie Dask oder Apache Spark verwenden, um Daten parallel zu verarbeiten und die Verarbeitungseffizienz zu verbessern:

Importieren Sie dask.dataframe als dd

#Erstellen Sie Dask DataFrame aus mehreren Dateien
ddf = dd.read_csv('data*.csv')

# Führen Sie Datenanalysevorgänge parallel aus
result = ddf.groupby('column').mean().compute()

7. Best Practices und Optimierungsvorschläge

Bei der visuellen Datenanalyse gibt es auch einige Best Practices und Optimierungsvorschläge, die uns dabei helfen können, Python-Tools besser zu nutzen:

  • Wählen Sie den geeigneten Diagrammtyp:  Wählen Sie je nach Datentyp und Analysezweck den geeigneten Diagrammtyp aus, z. B. Balkendiagramm, Liniendiagramm, Boxplot usw.
  • Halten Sie Diagramme einfach und klar:  Vermeiden Sie übermäßige Dekoration und komplexe Grafiken, halten Sie Diagramme einfach und leicht lesbar und heben Sie wichtige Punkte hervor.
  • Kommentare und Dokumentation:  Fügen Sie Kommentare und Dokumentation zu Ihrem Code hinzu, um das Verständnis und die Wartung sowie die Freigabe und Zusammenarbeit mit anderen zu erleichtern.
  • Leistungsoptimierung:  Erwägen Sie bei großen Datensätzen die Verwendung von Methoden wie parallelem Rechnen und Speicheroptimierung, um die Codeleistung zu verbessern.
  • Interaktive Visualisierung:  Verwenden Sie interaktive Visualisierungstools, um die Datenexploration flexibler und intuitiver zu gestalten und die Analyseeffizienz zu verbessern.

8. Ergebnisse bereitstellen und teilen

Sobald Sie Ihre Datenanalyse abgeschlossen und Erkenntnisse gewonnen haben, besteht der nächste Schritt darin, die Ergebnisse bereitzustellen und mit relevanten Stakeholdern zu teilen. Python bietet eine Vielzahl von Möglichkeiten, dies zu erreichen, einschließlich der Erstellung statischer Berichte, der Erstellung interaktiver Anwendungen und sogar der Integration der Ergebnisse in automatisierte Arbeitsabläufe.

8.1 Statische Berichte erstellen

Verwenden Sie Jupyter Notebook oder Jupyter Lab, um ganz einfach interaktive Datenanalyseberichte zu erstellen, die Code, Visualisierungen und erklärenden Text kombinieren. Diese Notizbücher können in das HTML-, PDF- oder Markdown-Format exportiert werden, um sie mit anderen zu teilen.

jupyter nbconvert --to html notebook.ipynb

8.2 Interaktive Anwendungen erstellen

Datenanalyseergebnisse können mithilfe von Frameworks wie Dash, Streamlit oder Flask als interaktive Webanwendungen bereitgestellt werden, sodass Benutzer über eine Webschnittstelle mit Daten interagieren und Erkenntnisse gewinnen können.

Bindestrich importieren
importiere dash_core_components als dcc
importiere dash_html_components als HTML

app = dash.Dash(__name__)

# Layout definieren
app.layout = html.Div(children=[
    html.H1(children='Data Analysis Dashboard'),
    dcc.Graph(
        id='example-graph',
        Figur={
            'Daten': [
                {'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'Kategorie 1'},
                {'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': 'Kategorie 2'},
            ],
            'Layout': {
                'title': 'Balkendiagramm'
            }
        }
    )
])

if __name__ == '__main__':
    app.run_server(debug=True)

8.3 Integration in automatisierte Arbeitsabläufe

Verwenden Sie einen Aufgabenplaner wie Airflow oder Celery, um den Datenanalyseprozess zu automatisieren und regelmäßig Berichte zu erstellen oder die Anwendung zu aktualisieren. Dadurch wird sichergestellt, dass die Ergebnisse der Datenanalyse stets aktuell sind und bei Bedarf automatisch angepasst und aktualisiert werden können.

aus datetime import datetime, timedelta
aus dem Luftstrom-Import-DAG
Von airflow.operators.python_operator importieren Sie PythonOperator

# Aufgaben definieren
def data_analysis():
    #Datenanalysecode
    passieren

#DAG definieren
Tag = TAG(
    'data_analysis_workflow',
    default_args={
        'Besitzer': 'Luftstrom',
        'depends_on_past': Falsch,
        'start_date': datetime(2024, 1, 1),
        'email_on_failure': Falsch,
        'email_on_retry': Falsch,
        'Wiederholungen': 1,
        'retry_delay': timedelta(Minuten=5),
    },
    scheme_interval=timedelta(days=1),
)

# Aufgaben definieren
task = PythonOperator(
    task_id='data_analysis_task',
    python_callable=data_analysis,
    Tag=Tag,
)

9. Datensicherheit und Datenschutz

Datensicherheit und Datenschutz sind bei der Datenanalyse und -visualisierung von entscheidender Bedeutung. Python bietet Technologien und Best Practices, die uns dabei helfen können, sicherzustellen, dass die Daten während der Verarbeitung vollständig geschützt und sicher sind.

9.1 Datenverschlüsselung und sichere Übertragung

Stellen Sie sicher, dass bei der Datenübertragung und -speicherung sichere Verschlüsselungsalgorithmen verwendet werden, z. B. HTTPS für die Datenübertragung und Verschlüsselung für die Datenspeicherung. Pythons Verschlüsselungsbibliotheken wie Kryptografie können uns bei der Implementierung der Datenverschlüsselung und -entschlüsselung helfen.

aus cryptography.fernet Fernet importieren

# Schlüssel generieren
key = Fernet.generate_key()
cipher_suite = Fernet(Schlüssel)

# Daten verschlüsseln
cipher_text = cipher_suite.encrypt(b"Hallo, Welt!")

# Daten entschlüsseln
plain_text = cipher_suite.decrypt(cipher_text)

9.2 Datenzugriffskontrolle und Authentifizierung

Stellen Sie sicher, dass nur autorisierte Benutzer auf sensible Daten zugreifen können, indem Sie Datenzugriffskontroll- und Authentifizierungsmechanismen implementieren. Sie können die Authentifizierungsbibliotheken von Python wie Flask-Login, Django-Auth usw. verwenden, um die Benutzerauthentifizierung und Berechtigungsverwaltung zu implementieren.

aus Flask importieren Flask, Anfrage, Weiterleitung, url_for
aus flask_login importiere LoginManager, login_user, current_user, login_required, UserMixin

app = Flask(__name__)
login_manager = LoginManager()
login_manager.init_app(app)

# Benutzermodell
Klasse Benutzer(UserMixin):
    def __init__(self, id):
        self.id = id

#Rückruffunktion zur Benutzerauthentifizierung
@login_manager.user_loader
def load_user(user_id):
    return User(user_id)

# Login-Route
@app.route('/login', methoden=['POST'])
def login():
    user_id = request.form['user_id']
    user = Benutzer(user_id)
    login_user(Benutzer)
    Return Redirect(url_for('index'))

#Routen, für deren Zugriff eine Anmeldung erforderlich ist
@app.route('/secure')
@Anmeldung erforderlich
def secure_page():
    return „Dies ist eine sichere Seite“

if __name__ == '__main__':
    app.run(debug=True)

9.3 Anonymisierung und Desensibilisierung

Während des Analyseprozesses können Anonymisierung und Desensibilisierung zum Schutz der Privatsphäre der Benutzer bei sensiblen Daten eingesetzt werden. Python bietet einige Bibliotheken wie Faker, die virtuelle Daten generieren können, um reale Daten für die Analyse zu ersetzen.

von Faker Import Faker

faker = Faker()

# Virtuellen Namen generieren
name = faker.name()

# Dummy-E-Mail generieren
email = faker.email()

# Virtuelle Adresse generieren
Adresse = faker.address()

Zusammenfassen

Dieser Artikel befasst sich eingehend mit einem umfassenden Workflow für die visuelle Datenanalyse in einer Python-Umgebung und stellt eine Reihe wichtiger Schritte, technische Tools und Best Practices vor. Zuerst beginnen wir mit der Datenerfassung, indem wir Bibliotheken wie Pandas zum Laden und Verarbeiten von Daten verwenden. Anschließend führen wir eine Datenbereinigung und Vorverarbeitung durch und verwenden dann Matplotlib, Seaborn und andere Bibliotheken, um eine visuelle Untersuchung durchzuführen, um Probleme und Muster in den Daten zu identifizieren , wir vertiefen uns in die Daten. In der Analyse- und Modellierungsphase werden statistische Analysen und Techniken des maschinellen Lernens verwendet, um die inhärenten Muster der Daten zu ermitteln. Schließlich werden die Analyseergebnisse mit verschiedenen Methoden angezeigt, um Erkenntnisse zu gewinnen und Geschäftsentscheidungen zu unterstützen.

Anschließend untersuchten wir weiter fortgeschrittene Techniken und Optimierungen, einschließlich der Verwendung von Plotly Express zum Anpassen von Diagrammen, der Verwendung interaktiver Visualisierungen und der Auswahl geeigneter Visualisierungsbibliotheken. Darüber hinaus behandeln wir die Bedeutung von Automatisierung und Stapelverarbeitung und wie man Schleifen, Funktionen und verteilte Computer-Frameworks nutzen kann, um die Effizienz zu verbessern. Im Hinblick auf Best Practices und Optimierungsempfehlungen betonen wir die Bedeutung der Auswahl des richtigen Diagrammtyps, der Einfachheit und Klarheit der Diagramme, der Anmerkungen und Dokumentation, der Leistungsoptimierung und der interaktiven Visualisierungen.

Schließlich haben wir auf Datensicherheit und Datenschutz geachtet und dabei den Schwerpunkt auf Schlüsselmaßnahmen wie Datenverschlüsselung und sichere Übertragung, Datenzugriffskontrolle und -authentifizierung, Anonymisierung und Desensibilisierung gelegt. Durch die ordnungsgemäße Anwendung dieser Technologien und Best Practices können wir die Sicherheit und Zuverlässigkeit des Datenanalyseprozesses gewährleisten und glaubwürdige Datenunterstützung für Geschäftsentscheidungen bieten.

Zusammenfassend erklärt dieser Artikel umfassend den Arbeitsablauf und die Schlüsseltechnologien der visuellen Datenanalyse in Python und soll den Lesern helfen, den gesamten Prozess der Datenanalyse tiefgreifend zu verstehen und effektive Tools und Methoden für den Umgang mit komplexen Datenherausforderungen in der realen Welt zu beherrschen. Dadurch erhalten Sie bessere Analyseergebnisse und Erkenntnisse.

 

Klicken Sie hier, um zu folgen und so schnell wie möglich mehr über die neuen Technologien von Huawei Cloud zu erfahren~

 

High-School-Schüler erstellen ihre eigene Open-Source-Programmiersprache als Coming-of-Age-Zeremonie – scharfe Kommentare von Internetnutzern: Unter Berufung auf die Verteidigung hat Apple den M4-Chip RustDesk veröffentlicht. Inländische Dienste wurden wegen grassierenden Betrugs eingestellt . In Zukunft plant er, ein unabhängiges Spiel auf der Windows-Plattform Taobao (taobao.com) zu produzieren. Webversionsoptimierungsarbeiten neu starten, Ziel für Programmierer, Visual Studio Code 1.89 veröffentlicht Java 17, die am häufigsten verwendete Java LTS-Version, Windows 10 hat eine Marktanteil von 70 %, Windows 11 geht weiter zurück ; Google unterstützt Hongmeng bei der Übernahme von Open-Source-Rabbit-R1;
{{o.name}}
{{m.name}}

Ich denke du magst

Origin my.oschina.net/u/4526289/blog/11105722
Empfohlen
Rangfolge