Die durchschnittliche Person verwendet DataFrame und möchte einen bestimmten Spalten- oder Indexnamen! Denkst du nicht? Ich denke gut.
Es ist offiziell eine API, also denke ich, dass es eine schlechte Idee ist, Ich will es. Ein bestimmter Spaltenname oder Indexname!
Ich glaube nicht, dass es jemand geschrieben hat, weil es wahrscheinlich zu einfach ist.
import pandas as pd
import numpy as np
a = np.array([i for i in range(100)]).reshape(10, 10)
c = 'abcdefghij'
d = 'klmnopqrst'
columns = [i for i in c]
index = [i for i in d]
df = pd.DataFrame(a, columns=columns, index=index)
Damit ist dieses Modell fertiggestellt.
a | b | c | d | e | f | g | h | i | j | |
---|---|---|---|---|---|---|---|---|---|---|
k | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
l | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
m | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
n | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
o | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 |
p | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
q | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 |
r | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |
s | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 |
t | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 |
Diesmal als Demo Ich möchte den Indexnamen und den Spaltennamen erhalten, für die df == 12 ist.
df12 = df[df == 12]
Dann
a | b | c | d | e | f | g | h | i | j | |
---|---|---|---|---|---|---|---|---|---|---|
k | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
l | NaN | NaN | 12.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
m | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
n | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
o | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
p | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
q | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
r | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
s | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
t | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
Es kann erhalten werden.
Mit diesem Mechanismus
df12.columns[df12[df == 12].any()]
Wenn ja, der Spaltenname,
Index(['c'], dtype='object')
Es kann erhalten werden.
Dies ist der relevante Spaltenname.
Wie erhält man den Indexnamen? Wenn Sie normal denken
df12.index[df12[df == 12].any()]
Es scheint, dass Sie es bekommen können.
Diese Strategie funktioniert jedoch nicht.
df12[df == 12].any()
Wie Sie beim Laufen sehen können
df12[df == 12].any() == 'c' (Spaltenname)
Weil es geworden ist.
Damit
df12.index[df12[df == 12].any()]
Das Ergebnis von
Index(['c'], dtype='object')
Es wird sein.
Ich war in Schwierigkeiten.
Zu solchen Zeiten ist es jedoch bequem zu übertragen!
df12.index[df12[df == 12].T.any()]
Es ist eine Lösung.
Da der Spaltenname mit df12 [df == 12] .any ()
erhalten werden kann,
Sie müssen lediglich den Indexnamen in den Spaltennamen umsetzen.
Damit ist das Ziel erreicht. Ich bin glücklich.