[Python Common Functions] In diesem Artikel können Sie die Aufzählungsfunktion in Python gründlich verstehen

Alles ist ein Prozess von quantitativer Veränderung zu qualitativer Veränderung, und das Erlernen von Python ist da keine Ausnahme. Nur wenn wir die gängigen Funktionen einer Sprache gut kennen, können wir Probleme handhaben und schnell die optimale Lösung finden. Dieser Artikel wird mit Ihnen die Enumerate-Funktion in Python erkunden, damit Sie das Prinzip dieser Funktion in kürzester Zeit verstehen. Sie können die fragmentierte Zeit auch nutzen, um diese Funktion zu konsolidieren, um den Verarbeitungsprozess effizienter zu gestalten.
  


  

1. Funktionsdefinition aufzählen

  
Die Aufzählungsfunktion ist eine häufig verwendete eingebaute Funktion in Python, die direkt verwendet werden kann, ohne eine Bibliothek zu laden. Die Aufzählungsfunktion kann durchquerbare Objekte (wie Listen, Tupel, Zeichenfolgen usw.) zu einer Indexsequenz zusammenfassen und gleichzeitig Datenindizes und Objektwerte auflisten.

Die grundlegende Aufrufsyntax lautet wie folgt:

enumerate(iteration, start)
iteration:可遍历的对象,如列表、元组、字符串等。
start:用来指定索引的起始数值,默认为0enumerate函数的返回值有两个,第一个是索引,第二个是iteration参数中的值。

  
  

Zwei, Funktionsinstanz aufzählen

  

Beispiel 1: Die Funktion enumerate fasst Listen zu indizierten Sequenzen zusammen

  
Schauen wir uns zuerst die Verwendung der enumerate-Funktion an, um Listen zu einer Indexsequenz zu kombinieren. Der Code lautet wie folgt:

list(enumerate(['榴莲', '西瓜', '蓝莓']))

bekam die Antwort:

[(0, '榴莲'), (1, '西瓜'), (2, '蓝莓')]

Wenn der Startwert in der Aufzählungsfunktion nicht angegeben ist, beginnt die Reihenfolge des Index aus den Ergebnissen bei 0, und die Labels werden der Reihe nach markiert.

  

Beispiel 2: Die Enumerate-Funktion kombiniert Strings zu einer indizierten Sequenz

  
Sehen wir uns als Nächstes die Verwendung der Aufzählungsfunktion an, um Zeichenfolgen zu einer Indexsequenz zu kombinieren, und geben Sie den Startwert des Index als 1 an. Der Code lautet wie folgt:

list(enumerate('凡事尽力了,就没有遗憾了', start=1))

bekam die Antwort:

[(1, '凡'),
 (2, '事'),
 (3, '尽'),
 (4, '力'),
 (5, '了'),
 (6, ','),
 (7, '就'),
 (8, '没'),
 (9, '有'),
 (10, '遗'),
 (11, '憾'),
 (12, '了')]

Es kann festgestellt werden, dass die Enumerate-Funktion jedes Zeichen in der Zeichenfolge aufteilt und es ab dem angegebenen Anfangswert des Index nummeriert.

  

Beispiel 3: Die Enumerate-Funktion kombiniert Tupel zu einer indizierten Sequenz

  
Sehen Sie sich als Nächstes die Verwendung der enumerate-Funktion an, um Tupel zu einer Indexsequenz zu kombinieren. Der Code lautet wie folgt:

list(enumerate(('榴莲', '西瓜', '蓝莓'), start=2))

bekam die Antwort:

[(2, '榴莲'), (3, '西瓜'), (4, '蓝莓')]

Wenn der Startwert in der Enumerate-Funktion als 2 angegeben ist, beginnt die Markierungssequenz anhand der Ergebnisse bei 2 und wird rückwärts fortgesetzt.

  

3. Anwendung der Aufzählungsfunktion bei abnormaler Datenverarbeitung

  
Beim Erstellen eines Kreditvorhersagemodells müssen die anormalen Daten zuerst verarbeitet werden. Geben Sie beispielsweise für ein Exemplar, dessen Familienstandswert leer ist, den Wert gemäß dem aktuellen Ausleihstatus ein.

  

1 Bibliothek importieren und Daten laden

  
Importieren Sie zuerst die in diesem Artikel benötigten Bibliotheken und laden Sie die Daten. Wenn Sie einige Bibliotheken nicht installiert haben und beim Ausführen des Codes ein Fehler gemeldet wird, können Sie die pip-Methode verwenden, um sie in Anaconda Prompt zu installieren.

import os
import pandas as pd

#设置数据存储的路径
os.chdir(r'F:\公众号\65.贷款预测')
#读取训练集
date_train = pd.read_csv('train_u6lujuX_CVtuZ9i.csv', delimiter=',')
date_train['Loan_Status'].value_counts()

bekam die Antwort:

Yes    398
No     213
Name: Married, dtype: int64

Es gibt 614 Datenzeilen im Trainingssatz, 398 derzeit verheiratete Kunden, 213 unverheiratete Kunden und insgesamt 611 Kunden mit Familienstandswerten, was darauf hinweist, dass es 3 Kunden in den Daten gibt, deren Familienstand leer ist. Beim Umgang mit Ausreißern besteht eine Lösung darin, diese 3 leeren Kundendaten zu löschen, und Kundeninformationen gehen zu diesem Zeitpunkt verloren. Eine andere Lösung stellt das Ausfüllen der Nullwerte dar. Als nächstes schauen wir uns die Anwendung der Aufzählungsfunktion zum Ausfüllen der Nullwerte an.

  

2 Wenden Sie die Aufzählungsfunktion an, um die leeren Werte auszufüllen

  
Wenden Sie die for-Schleife in Kombination mit der Aufzählungsfunktion an, um die leeren Werte zu füllen. Der Code lautet wie folgt:

for index, value in enumerate(date_train['Married']):
    if pd.isna(value):
        if date_train['Loan_Status'][index] == 'N':
            date_train['Married'][index] = 'No'
        else:
            date_train['Married'][index] = 'Yes'
date_train['Married'].value_counts()

Die Logik des Codes ist, dass für Elemente, deren Spaltenwert für den Ehestatus leer ist, wenn der entsprechende Darlehensstatus N ist, der leere Wert als Nein eingetragen wird, andernfalls der leere Wert als Ja eingetragen wird. Die Funktion der Aufzählungsfunktion besteht darin, einen Index zu erzeugen und einem Nullwert durch den Index einen Wert zuzuweisen.

bekam die Antwort:

Yes    401
No     213
Name: Married, dtype: int64

Es kann festgestellt werden, dass sich der Wert von Ja nach dem Ausfüllen von 398 auf 401 geändert hat und es 614 Kunden mit einem Wert in ihrem Familienstand gibt, sodass der Familienstand jedes Kunden einen Wert hat.
  
Bisher wurde die Enumerate-Funktion in Python erklärt. Wenn Sie mehr über die Funktionen in Python erfahren möchten, können Sie die zugehörigen Artikel zum Modul „Learning Python“ im offiziellen Account „Ali Yiyang’s Code“ lesen.
  
Das könnte Sie interessieren:
Zeichne Pikachu mit Python
Zeichne eine Wortwolkenkarte
mit Python Zeichne 520 ewige Herzschläge mit Python Python- Gesichtserkennung - der Einzige
in meinen Augen Benutze die py2neo-Bibliothek in Python, um neo4j zu betreiben und erstellen Sie eine Beziehungskarte Python-Quellcodesammlung für romantische Geständnisse (Liebe, Rose, Fotowand, Geständnis unter den Sternen)



おすすめ

転載: blog.csdn.net/qq_32532663/article/details/127949624