Datenbereinigung 1 Praktische Python-Notation wie Lambda und Map

Aidemy https:// aidemy.net 2020/9/21

Zuallererst von den Grüßen ...

Schön dich kennenzulernen, das ist Ngahope! Ich bin eine knusprige Literaturschule, aber ich habe diese Woche angefangen, die KI-Lernschule "Aidemy" zu besuchen, weil ich mich für die Möglichkeiten der KI interessierte. Ich lerne dort verschiedene Kenntnisse über KI. Ich wollte dieses Wissen mit Ihnen teilen und habe mich daher entschlossen, es in Qiita zusammenzustellen.

Bitte lies es!

Was diesmal zu lernen ・ Einzeilige Notation ・ Geteilte Anzeige der Liste ・ Verarbeitung des Wörterbuchs

1. Einzeilige Notation

lambda(1)

__ · Lambda-Argument: Rückgabewert __

# x*Definieren Sie die Funktion a, die 4 zurückgibt
a=lambda x: x*4
print(a(4))
# 16

Lambda (2) Wenn es zwei oder mehr Argumente gibt

a=lambda x,y: x+y
print(a(3,6))
# 9

Lambda (3) Beschreibung der Rückgabefunktion einschließlich if

・ Schreiben Sie, wenn sonst nebeneinander __ · Lambda-Argument: Prozess (wahr) wenn Bedingung sonst Anderer Prozess __

a=lambda x: x*4 if x>4 else x=4
print(a(6))
# 24

2. Geteilte Anzeige der Liste

Geteilte Anzeige (1)

text="my name is ngayope"
text.split(" ") # " (Raum)"Getrennt durch
# ['my','name','is','ngayope']

Geteilte Anzeige (2)

import re
text="Fushigidane,Menschliche Eidechse.Zenigame"
re.split("[,.]",text)
# ['Fushigidane','Menschliche Eidechse','Zenigame']

Wenn Sie für jedes Element der Liste eine Funktion verwenden möchten

import re
time_list =["2006/11/26_2:40","2009/1/16_23:35","2014/5/4_14:26","2017/8/9_7:5","2017/4/1_22:15"]

# time_Funktion zum Extrahieren von "Zeit" aus der Liste
hour_pick = lambda x: int(re.split("[/_:]",x)[3])
#↑ Zuerst re.Teilen Sie die Zeichenfolge mit split. Dann int diese Zeichenfolge()Konvertieren Sie in einen numerischen Wert mit. Schließlich[3]Zeigen Sie die Funktion zum Extrahieren des "Stunde" -Teils mit Lambda in einer Zeile an.

#time_Wenden Sie die Funktion an, um das Ergebnis aufzulisten und zurückzugeben.
list(map(hour_pick,time_list))
# [2,23,14,7,22]

Extrahieren Sie aus jedem Element in der Liste nur die Elemente, die die Bedingung erfüllen (Authentizitätsbeurteilungsfunktion)

-Es kann mit der Filterfunktion auf die gleiche Weise wie die Karte extrahiert werden. __ · Liste (Filter (Authentizitätsbeurteilungsfunktion, Liste)) __

#Über der Zeit_Eine Funktion, die True nur für Listen festlegt, deren "Monat" nach Juli liegt
judge=lambda a: int(re.split("[/_:]",a)[1] >6
list(filter(judge,time_list))
# ["2006/11/26_2:40","2017/8/9_7:5"]

Sortieren Sie, indem Sie die Sortierkriterien mit einer Funktion angeben

-Verwenden Sie die sortierte Funktion anstelle der Sortierfunktion. __ · sortiert (Liste, Taste = Referenzfunktion, umgekehrt = Wahr (absteigende Reihenfolge)) __

list1=[[2,3][4,1][5,5][9,0][0,7][1,6]]
#Sortieren nach dem zweiten Element (absteigende Reihenfolge)
sorted(list1,key=lambda x: x[1],reverse=False)
# [[0,7][1,6][5,5][2,3][4,1][9,0]]

Geben Sie an, ob oder ob in der Liste

Beschreibung von für in der Liste

-Die Funktion kann auf die gleiche Weise wie die Kartenfunktion auf alle Elemente angewendet werden, indem folgende Schritte ausgeführt werden. __ · [Funktion für Variable in Liste] __

cm=[100,50,500,3,380]
#[◯m,◯cm]Funktion zum Berechnen wie
m_cm=lambda x:[x//100,x%100]
print([m_cm(x) for x in cm])
#[[1,0],[0,50],[5,0],[0,3],[3,80]]

Beschreibung von für mit Bedingung (wenn) in der Liste

#Extrahieren Sie nur "Dinge über 1 m" in den oberen cm
[x for x in cm if x>=100]
# [100,500,380]

Durchlaufen Sie mehrere Listen gleichzeitig

a = [1,-2,3,-4,5]
b = [9,8,-7,-6,-5]
#Für jedes Element der Liste gilt x*4+y*Tun Sie 2
[x*4+y*2 for x,y in zip(a, b)]
# [22,8,-2,-28,10]

Machen Sie mehr Schleifen innerhalb der Schleife

・ Beim Schleifen einer der beiden Listen und beim Schleifen der anderen

a=[1,2]
b=[5,6]
print([[x+y]for x in a for y in b])
# [6,7,7,8]

Verarbeitung des Wörterbuchs

Zählen Sie die Anzahl der Elemente und geben Sie sie als Wörterbuch aus

-Normalerweise ist es notwendig, den Inhalt des Wörterbuchs einzeln zu initialisieren, aber es kann einfach hinzugefügt werden, indem die defaultdict-Klasse anstelle des Wörterbuchs verwendet wird. ** ・ defaultdict (Elementtyp (int, dir usw.)) **

from collections import defaultdict

d=defaultdict(int)
lst=['Fushigidane','Menschliche Eidechse','Zenigame','Menschliche Eidechse']
#Nehmen Sie jedes Element der Liste als Schlüssel heraus und addieren Sie 1 zur Anzahl der angezeigten Schlüssel.
for key in lst:
__d[key] += 1
print(d)
# defaultdict(<class='int'>,{'Fushigidane':1,'Menschliche Eidechse':2,'Zenigame':1})

Element im Wert des Listenwörterbuchs hinzufügen

-Sie können Elemente einfach mit defaultdict hinzufügen. ** ・ defaultdict Wörterbuch [Schlüssel] .append (Element) **

#Listentyp-Wörterbuch
a=[('Menschliche Eidechse',5),('Eidechse',16),('Eidechseン',36),('Eidechseン',100)]
d=defaultdict(list)
#Index von a[0]Zu x indexieren[1]Wird y zugewiesen und herausgenommen
for x,y in a:
__d[x].append(y)
print(d)
#defaultdict(<class='list'>,{'Menschliche Eidechse':[5],'Eidechse':[16],'Eidechseン':[36,100]})

Einfacher zu zählen

from collections import Counter
lst=['Fushigidane','Menschliche Eidechse','Zenigame','Menschliche Eidechse']
print(Counter(lst).most_common(1))
# Counter({'Menschliche Eidechse':2})

Zusammenfassung

Diese Zeit ist vorbei. Vielen Dank, dass Sie so weit gelesen haben.

Recommended Posts

Datenbereinigung 1 Praktische Python-Notation wie Lambda und Map
Anwendung von Python: Datenbereinigung Teil 1: Python-Notation
Python String Processing Map und Lambda
Ruby, Python und Map
Anwendung von Python: Datenbereinigung Teil 3: Verwendung von OpenCV und Vorverarbeitung von Bilddaten
Über Python, aus und importieren, als
Hashing von Daten in R und Python
Anwendung von Python: Datenbereinigung Teil 2: Datenbereinigung mit DataFrame
Senden und Empfangen von Bilddaten als JSON in Python über das Netzwerk
Datenpipeline-Aufbau mit Python und Luigi
Optimierungen wie Interpolation und Kurvenanpassung
Python-Datenstruktur und interne Implementierung ~ Liste ~
Bearbeiten von DynamoDB-Daten mit Lambda (Node & Python)
Struktur und Betrieb der Python-Daten (Python-Lernnotiz ③)
Zeichnen Sie Daten einfach in Shell und Python
Komprimieren Sie Python-Daten und schreiben Sie in SQLite
Kommunikation verschlüsselter Daten zwischen Python und C #
[Python] Holen Sie sich Produktinformationen wie ASIN und JAN mit Amazon PA-API Version 5.0