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!

Freigeben: 2023-08-10 15:15:11
nach vorne
1606 Leute haben es durchsucht


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')
Nach dem Login kopieren

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'])
Nach dem Login kopieren

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}'))
Nach dem Login kopieren

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}'))
Nach dem Login kopieren

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()
Nach dem Login kopieren

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()
Nach dem Login kopieren

结果如下: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'))
Nach dem Login kopieren

结果如下: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'))
Nach dem Login kopieren

结果如下: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'))
Nach dem Login kopieren

结果如下: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])
Nach dem Login kopieren

结果如下: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!

Verwandte Etiketten:
Quelle:Python当打之年
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage