Heim >Backend-Entwicklung >Python-Tutorial >3000 Wörter langer Artikel, Pandas verschönert Ihre Excel-Tabelle!

3000 Wörter langer Artikel, Pandas verschönert Ihre Excel-Tabelle!

Python当打之年
Python当打之年nach vorne
2023-08-10 15:15:111721Durchsuche


In diesem Artikel erfahren Sie, wie Sie die Zahlen in einem Pandas DataFrame verschönern und einige erweiterte Visualisierungsoptionen im Pandas-Stil verwenden, um Ihre Fähigkeit zur Datenanalyse mit Pandas zu verbessern.

Häufige Beispiele sind:

  • Verwenden Sie Währungssymbole beim Umgang mit Währungswerten. Wenn Ihre Daten beispielsweise den Wert 25,00 enthalten, wissen Sie nicht sofort, ob es sich bei diesem Wert um chinesischen Yuan, US-Dollar, britische Pfund oder eine andere Währung handelt.
  • Prozentsatz ist ein weiterer nützlicher Indikator, 0,05 oder 5 %? Verwenden Sie das Prozentzeichen, um deutlich zu machen, wie die Daten zu interpretieren sind.
  • Pandas-Stile enthalten auch erweiterte Werkzeuge zum Hinzufügen von Farben oder anderen visuellen Elementen zur Ausgabe.

Fallanalyse

In diesem Artikel werden virtuelle Daten verwendet, um es allen zu erklären. Bei den Daten handelt es sich um Verkaufsdaten einer fiktiven Organisation aus dem Jahr 2018.

Der Link zum Datensatz lautet wie folgt:
https://www.aliyundrive.com/s/Tu9zBN2x81c

1. Importieren Sie die relevanten Bibliotheken und lesen Sie die Daten

import numpy as np
import pandas as pd

df = pd.read_excel('2018_Sales_Total.xlsx')

Der Effekt ist wie folgt folgt: 3000 Wörter langer Artikel, Pandas verschönert Ihre Excel-Tabelle!Lesen Sie diese Nach den Daten können wir eine kurze Zusammenfassung erstellen, um zu sehen, wie viel unsere Kunden bei uns gekauft haben und wie hoch ihr durchschnittlicher Einkaufsbetrag ist. Der Einfachheit halber habe ich hier die ersten 5 Daten abgefangen.

df.groupby('name')['ext price'].agg(['mean', 'sum'])

Die Ergebnisse sind wie folgt: 3000 Wörter langer Artikel, Pandas verschönert Ihre Excel-Tabelle!

2. Währungssymbol hinzufügen

Wenn Sie sich diese Daten ansehen, ist es etwas schwierig, die Skala der Zahlen zu verstehen, da Sie 6 Dezimalstellen haben und einige größere Zahlen. Darüber hinaus ist unklar, ob es sich um USD oder eine andere Währung handelt. Wir können dieses Problem mit DataFrame style.format lösen.

(df.groupby('name')['ext price']
 .agg(['mean', 'sum'])
 .style.format('${0:,.2f}'))

Die Ergebnisse sind wie folgt: 3000 Wörter langer Artikel, Pandas verschönert Ihre Excel-Tabelle!Mit der Formatfunktion können Sie alle Funktionen der String-Formatierungstools von Python für Ihre Daten nutzen. In diesem Fall verwenden wir ${0:,.2f}, um das führende Dollarzeichen einzufügen, ein Komma hinzuzufügen und das Ergebnis auf zwei Dezimalstellen zu runden.

Wenn wir beispielsweise auf 0 Dezimalstellen runden möchten, können wir das Format in ${0:,.0f} ändern.

(df.groupby('name')['ext price']
 .agg(['mean', 'sum'])
 .style.format('${0:,.0f}'))

Die Ergebnisse sind wie folgt:3000 Wörter langer Artikel, Pandas verschönert Ihre Excel-Tabelle!

3. Prozentsatz hinzufügen

Wenn wir den Gesamtumsatz pro Monat sehen möchten, können wir den Grouper verwenden, um ihn nach Monat zusammenzufassen und den Anteil jedes Monats zu berechnen Gesamtjahresumsatzprozentsatz.

monthly_sales = df.groupby([pd.Grouper(key='date', freq='M')])['ext price'].agg(['sum']).reset_index()
monthly_sales['pct_of_total'] = monthly_sales['sum'] / df['ext price'].sum()

Die Ergebnisse sind wie folgt: 3000 Wörter langer Artikel, Pandas verschönert Ihre Excel-Tabelle!Um diesen Prozentsatz übersichtlicher darzustellen, wandeln wir ihn besser in einen Prozentsatz um.

format_dict = {'sum':'${0:,.0f}', 'date': '{:%m-%Y}', 'pct_of_total': '{:.2%}'}
monthly_sales.style.format(format_dict).hide_index()

结果如下:3000 Wörter langer Artikel, Pandas verschönert Ihre Excel-Tabelle!

4. 突出显示数字

除了样式化数字,我们还可以设置 DataFrame 中的单元格样式。让我们用绿色突出显示最高的数字,用彩色突出显示最高、最低的数字。

(monthly_sales
 .style
 .format(format_dict)
 .hide_index()
 .highlight_max(color='lightgreen')
 .highlight_min(color='#cd4f39'))

结果如下:3000 Wörter langer Artikel, Pandas verschönert Ihre Excel-Tabelle!

5. 设置渐变色

另一个有用的函数是 background_gradient,它可以突出显示列中的值范围。

(monthly_sales.style
 .format(format_dict)
 .background_gradient(subset=['sum'], cmap='BuGn'))

结果如下:3000 Wörter langer Artikel, Pandas verschönert Ihre Excel-Tabelle!

6. 设置数据条

pandas样式功能还支持在列内绘制条形图。

(monthly_sales
 .style
 .format(format_dict)
 .hide_index()
 .bar(color='#FFA07A', vmin=100_000, subset=['sum'], align='zero')
 .bar(color='lightgreen', vmin=0, subset=['pct_of_total'], align='zero')
 .set_caption('2018 Sales Performance'))

结果如下:3000 Wörter langer Artikel, Pandas verschönert Ihre Excel-Tabelle!

7. 绘制迷你图

我认为这是一个很酷的功能。

import sparklines

def sparkline_str(x):
    bins=np.histogram(x)[0]
    sl = ''.join(sparklines(bins))
    return sl
    
sparkline_str.__name__ = "sparkline"
df.groupby('name')['quantity', 'ext price'].agg(['mean', sparkline_str])

结果如下:3000 Wörter langer Artikel, Pandas verschönert Ihre Excel-Tabelle!


Das obige ist der detaillierte Inhalt von3000 Wörter langer Artikel, Pandas verschönert Ihre Excel-Tabelle!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:Python当打之年. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen