Kapitel 3 Einführung in Python Machine Learning-Serien und DataFrame-Erstellung, Indizierung, Slicing, Datenbereinigung, Datenanalyse usw.
Kapitel 1 Verwendung der Pandas-Bibliothek für den Einstieg in das maschinelle Lernen von Python
Kapitel 2 Verwendung der NumPy-Bibliothek für den Einstieg in Python Machine Learning
Kapitel 3 Einführung in Python Machine Learning-Serien und DataFrame-Erstellung, Indizierung, Slicing, Datenbereinigung, Datenanalyse usw.
Kapitel 4 Datenvisualisierung für den Einstieg in Python Machine Learning.
Kapitel 5 Machine Learning-Algorithmen für den Einstieg in Python Machine Learning.
Kapitel 6 Praktische Projekte für den Einstieg in Python Machine Learning
1. Erstellen Sie eine Serie
1. Erstellung von Serien
Series ist ein eindimensionales Array, das wie folgt erstellt werden kann:
Serie aus Liste erstellen
Verwenden Sie die Funktion pd.Series(), um ein Series-Objekt zu erstellen, geben Sie den Indexparameter an, um den Index anzupassen, und geben Sie den Parameter dtype an, um den Datentyp anzugeben. Zum Beispiel:
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'], dtype=float)
print(s)
Ausgabeergebnis:
a 1.0
b 2.0
c 3.0
d 4.0
e 5.0
dtype: float64
Sie können die in Python integrierte Funktion list() verwenden, um andere Datentypen in Listen umzuwandeln, die in Python integrierte Funktion range() verwenden, um eine Folge von Ganzzahlen innerhalb eines bestimmten Bereichs zu generieren, und zum Generieren die Funktionen in der NumPy-Bibliothek verwenden B. eine Folge von Zufallszahlen innerhalb eines bestimmten Bereichs, und verwenden Sie die in Python integrierte Funktion zip(), um mehrere Listen zu einer Liste von Tupeln zu kombinieren.
Erstellen Sie eine Serie aus einem Wörterbuch
Verwenden Sie die Funktion pd.Series(), um ein Series-Objekt zu erstellen. Der Schlüssel des Wörterbuchs wird als Index der Serie verwendet, und der Wert des Wörterbuchs wird als Daten der Serie verwendet. Sie können den dtype angeben Parameter zur Angabe des Datentyps. Zum Beispiel:
d = {
'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
s = pd.Series(d, dtype=float)
print(s)
Ausgabeergebnis:
a 1.0
b 2.0
c 3.0
d 4.0
e 5.0
dtype: float64
Zweitens die Erstellung von DataFrame
DataFrame ist eine zweidimensionale Tabelle, die auf folgende Weise erstellt werden kann:
WX-Suche offizielles Konto: Ressourcenladeleiste
0R Scancode Achtung
因为我在学习过程中经常要找资料,而且很多要付费,所以干了个免费的资源分享平台。不要想太多,真的无偿,关注回复想要的资料即可
Kostenloser Austausch beliebter IT-Lernmaterialien im Jahr 2023, verschiedene Tutorials auf verschiedenen Plattformen, Quellcode
Erstellen Sie einen DataFrame aus der Liste
Verwenden Sie die Funktion pd.DataFrame(), um ein DataFrame-Objekt zu erstellen. Sie können den Parameter columns angeben, um den Spaltennamen anzupassen, und den Parameter index angeben, um den Index anzupassen. Zum Beispiel:
data = {
'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'], index=['a', 'b', 'c', 'd'])
print(df)
Ausgabeergebnis:
a Alice 25 F
b Bob 30 M
c Charlie 35 M
d David 40 M
Andere Datentypen können mit der in Python integrierten Funktion list() in Listen konvertiert werden, und mehrere Listen können mit der in Python integrierten Funktion zip() zu einer Liste von Tupeln kombiniert werden.
Erstellen Sie einen DataFrame aus dem Wörterbuch
Verwenden Sie die Funktion pd.DataFrame(), um ein DataFrame-Objekt zu erstellen. Der Schlüssel des Wörterbuchs wird als Spaltenname des DataFrame verwendet, und der Wert des Wörterbuchs wird als Daten des DataFrame verwendet. Sie können Folgendes angeben Spaltenparameter, um den Spaltennamen anzupassen, und geben Sie den Indexparameter an, um den Index anzupassen. Zum Beispiel:
data = {
'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame.from_dict(data, orient='columns', columns=['name', 'age', 'gender'], index=['a', 'b', 'c', 'd'])
print(df)
Ausgabeergebnis:
a Alice 25 F
b Bob 30 M
c Charlie 35 M
d David 40 M
3. Indizierung und Slicing
Indizierung und Aufteilung von Serien
Verwenden Sie den Operator [] für die Indizierung, die Methode .loc[] für die Indexierung von Etiketten, die Methode .iloc[] für die Standortindizierung, die Slice-Operation für Slice-Operationen und den booleschen Index für Filteroperationen. Zum Beispiel:
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd',
Ausgabeergebnis
1.0 1.0 1.0 b 2.0 c 3.0 d 4.0 e 5.0 dtype: float64
d 4.0 e 5.0 dtype: float64
Indizierung und Slicing von DataFrame
Verwenden Sie den Operator [] für die Indizierung, die Methode .loc[] für die Indexierung von Etiketten, die Methode .iloc[] für die Standortindizierung, die Slice-Operation für Slice-Operationen und den booleschen Index für Filteroperationen. Zum Beispiel
import pandas as pd
data = {
'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'], index=['a', 'b', 'c', 'd'])
#索引
print(df['name'])
#标签索引
print(df.loc['a'])
#位置索引
print(df.iloc[0])
#切片
print(df[1:3])
#筛选
print(df[df['age'] > 30])
输出结果:
```csharp
a Alice
b Bob
c Charlie
d David
Name: name, dtype: object
name Alice
age 25
gender F
Name: a, dtype: object
name Alice
age 25
gender F
Name: a, dtype: object
name age gender
b Bob 30 M
c Charlie 35 M
name age gender
c Charlie 35 M
d David 40 M
4. Datenbereinigung
Entfernen Sie doppelte Zeilen
Verwenden Sie die Methode .drop_duplicates(), um doppelte Zeilen in einem DataFrame zu entfernen. Zum Beispiel:
import pandas as pd
data = {
'name': ['Alice', 'Bob', 'Charlie', 'David', 'Bob'], 'age': [25, 30, 35, 40, 30], 'gender': ['F', 'M', 'M', 'M', 'M']}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'])
# 删除重复行
df = df.drop_duplicates()
print(df)
Ausgabeergebnis:
name age gender
0 Alice 25 F
1 Bob 30 M
2 Charlie 35 M
3 David 40
5. Ersetzen Sie leere Werte
Verwenden Sie die Methode .fillna(), um leere Werte in einem DataFrame durch den angegebenen Wert zu ersetzen. Zum Beispiel
import pandas as pd
data = {
'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, None, 35, 40], 'gender': ['F', 'M', 'M', None]}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'])
# 替换空值
df = df.fillna({
'age': 30, 'gender': 'M'})
print(df)
Ausgabeergebnis:
name age gender
0 Alice 25.0 F
1 Bob 30.0 M
2 Charlie 35.0 M
3 David 40.0 M
6. Datentypkonvertierung
In Pandas kann die Datentypkonvertierung von Series und DataFrame die Methode astype() verwenden. Die Methode astype() kann den Datentyp in Series oder DataFrame in den angegebenen Datentyp konvertieren. Hier ist ein Beispielcode:
import pandas as pd
# 创建一个Series
s = pd.Series(['1', '2', '3'])
print(s)
# 将Series中的数据类型转换为整型
s = s.astype(int)
print(s)
# 创建一个DataFrame
df = pd.DataFrame({
'A': ['1', '2', '3'], 'B': ['4', '5', '6']})
print(df)
# 将DataFrame中的数据类型转换为整型
df = df.astype(int)
print(df)
Ausgabeergebnis:
0 1
1 2
2 3
dtype: object
0 1
1 2
2 3
dtype: int64
A B
0 1 4
1 2 5
2 3 6
A B
0 1 4
1 2 5
2 3 6
7. Datenanalyse
In Pandas können für die Datenanalyse von Serien und DataFrame verschiedene Methoden verwendet werden, darunter deskriptive Statistiken, Sortierung, Filterung, Gruppierung, Aggregation und andere Vorgänge. Hier ist ein Beispielcode:
import pandas as pd
# 创建一个Series
s = pd.Series([1, 2, 3, 4, 5])
# 描述性统计
print(s.describe())
# 排序
print(s.sort_values(ascending=False))
# 筛选
print(s[s > 3])
# 创建一个DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4,{
'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10]})\n\n# 分组\ngrouped = df.groupby('A')\n\n# 聚合\nprint(grouped.aggregate(['sum', 'mean', 'max']))\n```\n\n输出结果:\n\n```\ncount 5.000000\nmean 3.000000\nstd 1.581139\nmin 1.000000\n25% 2.000000\n50% 3.000000\n75% 4.000000\nmax 5.000000\ndtype: float64\n4 5\n3 4\n2 3\n1 2\n0 1\ndtype: int64\n3 4\n4 5\ndtype: int64\n B
sum mean max
A
1 6.0 6.0 6
2 7.0 7.0 7
3 8.0 8.0 8
4 9.0 9.0 9
5 10.0 10.0 10
8. Zusammenfassung
In der Einführung in das maschinelle Lernen von Python haben wir die Erstellung, Indizierung, Slicing, Datenbereinigung, Datenanalyse und andere Vorgänge von Serien und DataFrame in der Pandas-Bibliothek kennengelernt. Das Folgende ist eine Zusammenfassung dieser Studie:
Eine Serie ist ein eindimensionales Array, das durch Listen, Wörterbücher, Arrays usw. erstellt werden kann. Auf Serien kann über Indizes zugegriffen und diese geändert werden, und sie unterstützen Slicing-Vorgänge.
DataFrame ist eine zweidimensionale Tabelle, die aus Listen, Wörterbüchern, Arrays usw. erstellt werden kann. Auf DataFrame kann über Spaltennamen und Zeilenindex zugegriffen und es geändert werden, und es unterstützt den Slice-Betrieb.
Die Datenbereinigung ist die Vorarbeit der Datenanalyse, einschließlich der Behandlung von Problemen wie fehlenden Werten, wiederholten Werten und Ausreißern. Pandas bietet eine Vielzahl von Methoden zur Datenbereinigung, wie zum Beispiel dropna(), fillna(), drop_duplicates(), replace() usw.
Die Datenanalyse ist die Kernarbeit des Data Mining und umfasst deskriptive Statistiken, Sortierung, Filterung, Gruppierung, Aggregation und andere Vorgänge. Pandas bietet eine Vielzahl von Methoden zur Datenanalyse, wie zum Beispiel beschreiben(), sort_values(), groupby(),aggregat() usw.
Die Datenvisualisierung ist ein wichtiges Mittel zur Datenanalyse. Sie kann Datenverteilung, Trends und andere Informationen anhand von Diagrammen anzeigen. Pandas bietet Visualisierungsmethoden für verschiedene Diagrammtypen, wie z. B. plot(), hist(), Scatter() usw.
Kurz gesagt, Pandas ist eines der unverzichtbaren Werkzeuge beim maschinellen Lernen von Python. Die Beherrschung der Verwendung von Pandas ist für die Datenanalyse und das Mining sehr wichtig.