Obwohl die Elementextraktion basierend auf dem Zeilennamen / Spaltennamen, der Zeilennummer / Spaltennummer wie loc, iloc usw. erfolgt. Ich habe ein Memo gepostet, weil ich die Extraktionsmethode nach Spaltenname x Zeilennummer nicht finden konnte.
Teilen Sie den ursprünglichen Datenrahmen (mit Spaltennamen, ohne Zeilennamen) in Gruppen mit bestimmten Elementen ein. Für die Verarbeitung musste auf jeden Datenrahmen zeilenweise Bezug genommen werden.
Zu diesem Zeitpunkt habe ich versucht, nach Zeilennummer zu verarbeiten, da ich die Spalte, aber nicht die erwartete Zeile angeben konnte. (Ich habe über reset_index nachgedacht, aber ich bin sicher, dass es möglich sein sollte, durch Spaltennamen x Zeilennummer anzugeben ...)
At und Index können mit df.at [df.index [Zeilennummer], 'Spaltenname'] </ b> kombiniert und extrahiert werden
(Ich hätte den Artikel unten richtig lesen sollen ...) https://note.nkmk.me/python-pandas-at-iat-loc-iloc/
DataFrame
#Erstellen Sie einen Datenrahmen mit nur Spaltennamen
df = pd.DataFrame({'person':['a','b','c','a','b','c'],\
'name':['aa','bb','cc','aaa','bbb','ccc'],\
'num':[100,200,300,1000,2000,3000]})
person name num
0 a aa 100
1 b bb 200
2 c cc 300
3 a aaa 1000
4 b bbb 2000
5 c ccc 3000
In beiden Fällen ist es möglich, einfach die 0. Zeile (= aa) der Spalte "Name" aus dem ursprünglichen df zu extrahieren.
person_0
df['name'][0]
#In der extrahierten Zeile(Omoto)index=Kann extrahiert werden, da 0 vorhanden ist
# aa
df.at[df.index[0],'name']
# aa
Grenzen Sie diesmal die Spalte "Person" auf dieselbe Person ein und versuchen Sie dann, die 0. Zeile abzurufen.
person_a_0
# "person"Eingrenzen auf Zeile mit Spalte a
df_a = df[df['person']=="a"]
df_a
person name num
0 a aa 100
3 a aaa 1000
df_a['name'][0]
#In der extrahierten Zeile(Omoto)index=Kann extrahiert werden, da 0 vorhanden ist
# aa
df_a.at[df_a.index[0],'name']
# aa
person_b_0
# "person"Eingrenzen auf Zeile mit Spalte b
df_b = df[df['person']=="b"]
df_b
person name num
1 b bb 200
4 b bbb 2000
df_b['name'][0]
#Index für die extrahierte Zeile=Fehler, weil es keine 0 gibt
df_b.at[df_b.index[0],'name']
# bb
Mit at konnten wir Elemente nach Zeilennummer für jeden Datenrahmen extrahieren.
Ich hoffe, es ist nützlich für diejenigen, die in Schwierigkeiten sind, weil sie es nicht finden können.
Recommended Posts