Dreißig Python-Funktionen lösen 99 % der Datenverarbeitungsaufgaben!

WBOY
Freigeben: 2023-04-15 10:07:02
nach vorne
986 Leute haben es durchsucht

Dreißig Python-Funktionen lösen 99 % der Datenverarbeitungsaufgaben!

Wir wissen, dass Pandas die am häufigsten verwendete Datenanalyse- und Manipulationsbibliothek in Python ist. Es bietet viele Funktionen und Methoden zur schnellen Lösung von Datenverarbeitungsproblemen bei der Datenanalyse.

Um die Verwendung von Python-Funktionen besser zu beherrschen, habe ich den Kundenabwanderungsdatensatz als Beispiel genommen, um die 30 am häufigsten verwendeten Funktionen und Methoden im Datenanalyseprozess vorzustellen. Die Daten können am Ende des Artikels heruntergeladen werden .

Die Daten sehen so aus:

import numpy as np
import pandas as pd
df = pd.read_csv("Churn_Modelling.csv")
print(df.shape)
df.columns

Nach dem Login kopieren

Ergebnisausgabe

(10000, 14)
Index(['RowNumber', 'CustomerId', 'Surname', 'CreditScore', 'Geography','Gender', 'Age', 'Tenure', 'Balance', 'NumOfProducts', 'HasCrCard','IsActiveMember', 'EstimatedSalary', 'Exited'],dtype='object')

Nach dem Login kopieren

1. Spalten löschen

df.drop(['RowNumber', 'CustomerId', 'Surname', 'CreditScore'], axis=1, inplace=True)
print(df[:2])
print(df.shape)

Nach dem Login kopieren

Ergebnisausgabe

Beschreibung: Der Parameter „Achse“ ist auf 1 gesetzt, um Spalten zu platzieren, und auf 0, um Zeilen zu platzieren. Setzen Sie den Parameter „inplace=True“ auf True, um die Änderungen zu speichern. Wir haben 4 Spalten abgezogen, sodass die Anzahl der Spalten von 14 auf 10 reduziert wurde.

GeographyGenderAgeTenureBalanceNumOfProductsHasCrCard
0FranceFemale 42 20.011
 IsActiveMemberEstimatedSalaryExited
0 1101348.88 1
(10000, 10)

Nach dem Login kopieren

2.Wählen Sie bestimmte Spalten aus

Wir lesen Teilspaltendaten aus der CSV-Datei. Der Parameter usecols kann verwendet werden.

df_spec = pd.read_csv("Churn_Modelling.csv", usecols=['Gender', 'Age', 'Tenure', 'Balance'])
df_spec.head()

Nach dem Login kopieren

3.nrows

Mit dem Parameter nrows können Sie einen Datenrahmen erstellen, der die ersten 5000 Zeilen der CSV-Datei enthält. Sie können auch den Parameter „skiprows“ verwenden, um Zeilen vom Ende der Datei auszuwählen. Skiprows=5000 bedeutet, dass wir beim Lesen der CSV-Datei die ersten 5000 Zeilen überspringen.

df_partial = pd.read_csv("Churn_Modelling.csv", nrows=5000)
print(df_partial.shape)

Nach dem Login kopieren

4. Beispiel

Nachdem wir den Datenrahmen erstellt haben, benötigen wir möglicherweise ein kleines Beispiel, um die Daten zu testen. Wir können den Parameter n oder frac verwenden, um die Stichprobengröße zu bestimmen.

df= pd.read_csv("Churn_Modelling.csv", usecols=['Gender', 'Age', 'Tenure', 'Balance'])
df_sample = df.sample(n=1000)
df_sample2 = df.sample(frac=0.1)

Nach dem Login kopieren

5. Auf fehlende Werte prüfen

isna-Funktion ermittelt fehlende Werte in einem Datenrahmen. Durch die Verwendung von isna mit der Summenfunktion können wir die Anzahl der fehlenden Werte in jeder Spalte sehen.

df.isna().sum()

Nach dem Login kopieren

6. Verwenden Sie loc und iloc, um fehlende Werte hinzuzufügen.

Verwenden Sie loc und iloc, um fehlende Werte hinzuzufügen. Der Unterschied zwischen den beiden ist wie folgt:

  • loc: Mit Beschriftung auswählen
  • iloc: Index auswählen

Wir erstellen zunächst 20 zufällige Indexe zur Auswahl.

missing_index = np.random.randint(10000, size=20)

Nach dem Login kopieren

Wir werden loc verwenden, um einige Werte in np.nan zu ändern (fehlende Werte).

df.loc[missing_index, ['Balance','Geography']] = np.nan

Nach dem Login kopieren

20 Werte fehlen in den Spalten „Balance“ und „Geographie“. Lassen Sie uns ein weiteres Beispiel mit iloc machen.

df.iloc[missing_index, -1] = np.nan

Nach dem Login kopieren

7. Fehlende Werte auffüllen

Die Fillna-Funktion wird zum Auffüllen fehlender Werte verwendet. Es bietet viele Optionen. Wir können einen bestimmten Wert, eine Aggregatfunktion wie den Mittelwert oder den vorherigen oder nächsten Wert verwenden.

avg = df['Balance'].mean()
df['Balance'].fillna(value=avg, inplace=True)

Nach dem Login kopieren

Der Methodenparameter der Funktion fillna kann verwendet werden, um fehlende Werte basierend auf dem vorherigen oder nächsten Wert in der Spalte zu füllen (z. B. method="ffill"). Dies kann für sequentielle Daten wie Zeitreihen sehr nützlich sein.

8. Fehlende Werte löschen

Eine andere Möglichkeit, mit fehlenden Werten umzugehen, besteht darin, sie zu löschen. Der folgende Code löscht Zeilen mit fehlenden Werten.

df.dropna(axis=0, how='any', inplace=True)

Nach dem Login kopieren

9. Wählen Sie Zeilen basierend auf Bedingungen aus. In einigen Fällen benötigen wir Beobachtungen (d. h. Zeilen), die bestimmte Bedingungen erfüllen.

france_churn = df[(df.Geography == 'France') & (df.Exited == 1)]
france_churn.Geography.value_counts()

Nach dem Login kopieren
Wir können sie mit Strings beschreiben.

df2 = df.query('80000 < Balance < 100000')
df2 = df.query('80000 < Balance < 100000'
df2 = df.query('80000 < Balance < 100000')

Nach dem Login kopieren

11. Verwenden Sie isin, um die Bedingung zu beschreiben

Die Bedingung kann mehrere Werte haben. In diesem Fall ist es besser, die isin-Methode zu verwenden, anstatt die Werte einzeln zu schreiben.

df[df['Tenure'].isin([4,6,9,10])][:3]

Nach dem Login kopieren

12. Groupby-Funktion

Die Groupby-Funktion von Pandas ist eine vielseitige und benutzerfreundliche Funktion, die Ihnen hilft, einen Überblick über Ihre Daten zu erhalten. Es macht es einfacher, Datensätze zu untersuchen und zugrunde liegende Beziehungen zwischen Variablen aufzudecken. Dreißig Python-Funktionen lösen 99 % der Datenverarbeitungsaufgaben!

Wir werden mehrere Beispiele für Gruppenverhältnisfunktionen erstellen. Fangen wir einfach an. Der folgende Code gruppiert die Zeilen basierend auf der Kombination aus Geografie und Geschlecht und gibt dann den durchschnittlichen Fluss jeder Gruppe an Funktionen sind als Parameterübergabe.

df[['Geography','Gender','Exited']].groupby(['Geography','Gender']).mean()

Nach dem Login kopieren

14. Anwenden verschiedener Aggregationsfunktionen auf verschiedene Gruppen

df[['Geography','Gender','Exited']].groupby(['Geography','Gender']).agg(['mean','count'])

Nach dem Login kopieren

Darüber hinaus ermöglicht die „NamedAgg-Funktion“ das Umbenennen der Spalten im Aggregat

15. Setzen Sie den Index zurück

Ist Ihnen das Bild oben aufgefallen? Datenformat. Wir können dies ändern, indem wir den Index zurücksetzen.

df_summary = df[['Geography','Exited','Balance']].groupby('Geography').agg({'Exited':'sum', 'Balance':'mean'})
df_summary.rename(columns={'Exited':'# of churned customers', 'Balance':'Average Balance of Customers'},inplace=True)

Nach dem Login kopieren

16. Den ursprünglichen Index zurücksetzen und löschenDreißig Python-Funktionen lösen 99 % der Datenverarbeitungsaufgaben!

In einigen Fällen müssen wir den Index zurücksetzen und gleichzeitig den ursprünglichen Index löschen.

import pandas as pd
df_summary = df[['Geography','Exited','Balance']].groupby('Geography').agg(Number_of_churned_customers = pd.NamedAgg('Exited', 'sum'),Average_balance_of_customers = pd.NamedAgg('Balance', 'mean'))
print(df_summary)

Nach dem Login kopieren

17. Bestimmte Spalte als Index festlegen

Wir können jede Spalte im Datenrahmen als Index festlegen.

print(df_summary.reset_index())

Nach dem Login kopieren
Dreißig Python-Funktionen lösen 99 % der Datenverarbeitungsaufgaben!18. Neue Spalte einfügen

df[['Geography','Exited','Balance']].sample(n=6).reset_index(drop=True)

Nach dem Login kopieren

19 where-Funktion

Sie wird verwendet, um den Wert in einer Zeile oder Spalte basierend auf einer Bedingung zu ersetzen. Der Standardersatzwert ist NaN, wir können aber auch einen Ersatzwert angeben.

df_new.set_index('Geography')

Nach dem Login kopieren

20. Rangfunktion

Die Rangfunktion weist einem Wert eine Rangfolge zu. Lassen Sie uns eine Spalte erstellen, die Kunden anhand ihres Guthabens einordnet.

group = np.random.randint(10, size=6)
df_new['Group'] = group

Nach dem Login kopieren

21. Anzahl der eindeutigen Werte in einer Spalte

Das ist praktisch, wenn Sie mit kategorialen Variablen arbeiten. Möglicherweise müssen wir die Anzahl der eindeutigen Kategorien überprüfen. Wir können die Größe der von der Wertzählfunktion zurückgegebenen Sequenz überprüfen oder die Nunique-Funktion verwenden.

df_new['Balance'] = df_new['Balance'].where(df_new['Group'] >= 6, 0)

Nach dem Login kopieren

22. Speichernutzung

Mit der Funktion „memory_usage“ zeigen diese Werte den Speicher in Bytes an.

df.memory_usage()

Nach dem Login kopieren

Dreißig Python-Funktionen lösen 99 % der Datenverarbeitungsaufgaben!

23.数据类型转换

默认情况下,分类数据与对象数据类型一起存储。但是,它可能会导致不必要的内存使用,尤其是当分类变量具有较低的基数。

低基数意味着列与行数相比几乎没有唯一值。例如,地理列具有 3 个唯一值和 10000 行。

我们可以通过将其数据类型更改为"类别"来节省内存。

df['Geography'] = df['Geography'].astype('category')

Nach dem Login kopieren

24.替换值

替换函数可用于替换数据帧中的值。

df['Geography'].replace({0:'B1',1:'B2'})

Nach dem Login kopieren

25.绘制直方图

pandas 不是一个数据可视化库,但它使得创建基本绘图变得非常简单。

我发现使用 Pandas 创建基本绘图更容易,而不是使用其他数据可视化库。

让我们创建平衡列的直方图。

Dreißig Python-Funktionen lösen 99 % der Datenverarbeitungsaufgaben!

26.减少浮点数小数点

pandas 可能会为浮点数显示过多的小数点。我们可以轻松地调整它。

df['Balance'].plot(kind='hist', figsize=(10,6),
title='Customer Balance')

Nach dem Login kopieren

27.更改显示选项

我们可以更改各种参数的默认显示选项,而不是每次手动调整显示选项。

  • get_option:返回当前选项
  • set_option:更改选项 让我们将小数点的显示选项更改为 2。
pd.set_option("display.precision", 2)

Nach dem Login kopieren

可能要更改的一些其他选项包括:

  • max_colwidth:列中显示的最大字符数
  • max_columns:要显示的最大列数
  • max_rows:要显示的最大行数

28.通过列计算百分比变化

pct_change用于计算序列中值的变化百分比。在计算时间序列或元素顺序数组中更改的百分比时,它很有用。

ser= pd.Series([2,4,5,6,72,4,6,72])
ser.pct_change()

Nach dem Login kopieren

29.基于字符串的筛选

我们可能需要根据文本数据(如客户名称)筛选观测值(行)。我已经在数据帧中添加了df_new名称。

Dreißig Python-Funktionen lösen 99 % der Datenverarbeitungsaufgaben!

df_new[df_new.Names.str.startswith('Mi')]

Nach dem Login kopieren

我们可能需要根据文本数据(如客户名称)筛选观测值(行)。我已经在数据帧中添加了df_new名称。

Dreißig Python-Funktionen lösen 99 % der Datenverarbeitungsaufgaben!

30.设置数据样式

我们可以通过使用返回 Style 对象的 Style 属性来实现此目的,它提供了许多用于格式化和显示数据框的选项。例如,我们可以突出显示最小值或最大值。

它还允许应用自定义样式函数。

df_new.style.highlight_max(axis=0, color='darkgreen')

Nach dem Login kopieren

Dreißig Python-Funktionen lösen 99 % der Datenverarbeitungsaufgaben!

Das obige ist der detaillierte Inhalt vonDreißig Python-Funktionen lösen 99 % der Datenverarbeitungsaufgaben!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51cto.com
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