Wir haben alle von ChatGPT gehört. Es erregte nicht nur Aufmerksamkeit in der Tech-Branche, sondern sorgte auch in einem breiteren Spektrum von Medien für Schlagzeilen.
Obwohl es einige Kritik an seiner Leistung und Zuverlässigkeit bei einfacheren Aufgaben gab, schneidet ChatGPT im Vergleich zu anderen großen Sprachmodellen (LLMs) bei einer Vielzahl von Aufgaben gut ab und hat sich zu einem wichtigen Produktivitätstreiber entwickelt.
Die Anwendung von ChatGPT zum Bereinigen und Analysieren von Pandas-Daten kann die Arbeitseffizienz erheblich verbessern. In diesem Artikel werden 8 Eingabeaufforderungsbeispiele vorgestellt, die Ihnen zeigen, wie Sie Pandas-Aufgaben erledigen, indem Sie ChatGPT fragen.
Erster Tipp, um seine Rolle zu definieren:
Tipp: Sie sind ein Python-Tutor, der mir den Umgang mit der Pandas-Bibliothek beigebracht hat. Ich freue mich darauf, dass Sie mir erklären, wie Sie mit Pandas eine bestimmte Aufgabe ausführen können. Bitte zeigen Sie mir auch den Code in Ihrer Erklärung.
Bevor ich anfing, die Frage zu stellen, habe ich die Struktur des DataFrame angegeben, einschließlich Spaltennamen und Datentypen.
Tipp: Lassen Sie mich Ihnen zunächst etwas über den DataFrame erzählen, den ich habe. Dann fange ich an, Fragen zu stellen. Nachfolgend sind die Spaltennamen und Datentypen im Python-Wörterbuchformat aufgeführt. Die Schlüssel repräsentieren Spaltennamen und die Werte repräsentieren Datentypen.
{'store': dtype('O'), 'product_group': dtype('O'), 'product_code': dtype('int64'), 'stock_qty': dtype('int64'), 'cost ': dtype('float64'), 'price': dtype('float64'), 'last_week_sales': dtype('int64'), 'last_month_sales': dtype('int64')}
Hier werden simulierte Daten verwendet Vorbereiteter Beispieldatensatz. Sie können es aus dem Datasets-Repository-Repo herunterladen (https://github.com/SonerYldrm/datasets). Die Datei heißt sales_data_with_stores.csv.
Das Folgende ist der DataFrame, der Ihnen als Referenz bereitgestellt wird:
Die ersten 5 Zeilen des DataFrame
Jetzt können wir mit der Pandas-Aufgabe beginnen.
Hinweis: Sagen Sie mir, wie ich den Durchschnitt der Verkäufe der letzten Woche für jedes Geschäft berechnen kann.
Obwohl dies nur eine einfache Codezeile ist, kann es für Leute, die gerade erst anfangen, Pandas zu lernen, einige Zeit dauern, bis sie es verstehen. Das Folgende ist die Antwort von ChatGPT:
Kopieren Sie das von ChatGPT bereitgestellte Testcode-Snippet und fügen Sie es wie unten gezeigt ein.
# 导入pandasimport pandas as pd# 假设'df'是你的DataFrameaverage_sales = df.groupby('store')['last_week_sales'].mean()
ChatGPT bietet neben dem Code auch eine detaillierte Erklärung zur Ausführung des Codes und zur Art der Ausgabe.
Hinweis: Sagen Sie mir, wie ich den Gesamtgewinn für jedes Geschäft im letzten Monat ermitteln kann.
Für diese Aufgabe muss ChatGPT zunächst herausfinden, wie Gewinne berechnet werden. Sehen wir uns die Antwort an:
# 计算每个产品的利润df['last_month_profit'] = (df['price'] - df['cost']) * df['last_month_sales']# 计算每个商店的总利润total_profit = df.groupby('store')['last_month_profit'].sum()
Beim Umgang mit realen Daten stehen wir oft vor der Herausforderung fehlender Werte. Testen Sie, wie ChatGPT weniger einfache Aufgaben bewältigt.
Tipp: In der Spalte „Bestandsmenge“ fehlen einige Werte. Ich möchte die fehlenden Werte durch die durchschnittliche Lagerbestandsmenge für dieses Geschäft ersetzen. Sagen Sie mir, wie ich diese Aufgabe bewältigen kann.
# 计算每个商店的平均库存数量average_stock_qty_per_store = df.groupby('store')['stock_qty'].transform('mean')# 用该商店的平均库存数量替换'stock_qty'中的缺失值df['stock_qty'].fillna(average_stock_qty_per_store, inplace=True)
Es gibt viele Möglichkeiten, diese Aufgabe zu lösen, und die Verwendung der Transformationsfunktion ist eine der effektiveren Möglichkeiten.
Die Transformationsfunktion ist wichtig. Die Gründe für die Verwendung der Transformationsfunktion zum Abschließen dieser Aufgabe sind folgende:
Die Transformationsfunktion ähnelt der Apply-Funktion, aber im Gegensatz zur Apply-Funktion kann die Transformationsfunktion eine Reihe mit zurückgeben hat die gleiche Größe wie die Eingabe und ist daher vektoriell. Nützlich bei der Durchführung von Operationen und Broadcasts, insbesondere bei Verwendung mit Groupby-Objekten.
Hinweis: Sagen Sie mir, wie ich im letzten Monat in jedem Geschäft die drei Produkte mit dem höchsten Verkaufsvolumen finde.
# 首先,按'store'和'last_month_sales'对DataFrame进行排序df_sorted = df.sort_values(['store', 'last_month_sales'], ascending=[True, False])# 然后,按'store'分组,并使用apply方法选择每个组的前3行top_3_products = df_sorted.groupby('store').head(3)
它首先对整个DataFrame进行排序。我们也可以在每个组内进行排序。让我们看看ChatGPT是否知道该如何做到这一点。
提示:是否有另一种方法可以在不先对DataFrame进行排序的情况下完成此任务?
def top_3_products(group):return group.nlargest(3, 'last_month_sales')top_3_df = df.groupby('store').apply(top_3_products)
更高效的方法可能是首先对整个DataFrame进行排序。此示例只是想观察ChatGPT是否能提供不同的解决方案。
提示:我想看到每个商店的上周表现与上月表现进行比较。
这是一个简单的任务,但提示并没有直接告诉ChatGPT如何完成。让我们看看它的表现如何。
# 计算上周和上个月每个店的总销售额total_sales_last_week = df.groupby('store')['last_week_sales'].sum()total_sales_last_month = df.groupby('store')['last_month_sales'].sum()# 创建一个新的DataFrame来存储这些信息performance_df = pd.DataFrame({'LastWeekSales': total_sales_last_week,'LastMonthSales': total_sales_last_month,})# 计算从上个月到上周销售额的变化performance_df['SalesChange'] = performance_df['LastWeekSales'] - (performance_df['LastMonthSales'] / 4)
作为对上周与上月的表现相比较的反应,它找到了上周销售额与上月销售额四分之一之间存在差异,这是非常合理的。
它创建的DataFrame如下所示:
提示:创建一个名为critical_stock的新列,如果stock_qty小于500,则取值为1,否则取值为0。
ChatGPT为这个任务给出了3个选项,以下是我更喜欢的两个:
# 第一种选项df['critical_stock'] = df['stock_qty'].apply(lambda x: 1 if x <h2>示例 8</h2><blockquote style="margin-top: 5px; margin-bottom: 5px; padding-left: 1em; margin-left: 0px; border-left: 3px solid rgb(238, 238, 238); opacity: 0.6;"><p>提示:以大小、缺失值、数据类型和列统计信息的形式创建一个DataFrame的摘要。</p></blockquote><p>虽然DataFrame的函数和方法总结起来很简单,但ChatGPT在整理它们时做得非常出色,呈现出整洁清晰的排版。</p><p>如下的是ChatGPT生成的代码:</p><pre class="brush:php;toolbar:false"># 导入必要的库import pandas as pd# DataFrame大小print("DataFrame Size:")print(df.shape)print("\n")# 缺失值print("Missing Values:")print(df.isnull().sum())print("\n")# 数据类型print("Data Types:")print(df.dtypes)print("\n")# 列统计信息print("Column Statistics:")print(df.describe(include='all'))
以上示例展示了ChatGPT如何在数据分析中,尤其是在Pandas中,革命性地改变了常见任务的完成方式。我们不仅提高了效率,还对可以在Pandas中完成的复杂操作有了更丰富的理解。
Das obige ist der detaillierte Inhalt vonNutzen Sie diese acht ChatGPT-Anweisungen, um Pandas-Aufgaben effizient zu erledigen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!