La personne moyenne utilise DataFrame et veut une colonne ou un nom d'index spécifique! Tu ne penses pas? Je pense bien.
C'est officiellement une API, donc je pense que c'est une mauvaise idée, Je le veux. Un nom de colonne ou un nom d'index spécifique!
Eh bien, je ne pense pas que quiconque l'ait écrit parce que c'est probablement trop facile.
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)
Donc, ce modèle est terminé.
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 |
Cette fois, en démonstration Je voudrais obtenir le nom de l'index et le nom de la colonne pour lesquels df == 12.
df12 = df[df == 12]
Puis
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 |
Il peut être obtenu.
En utilisant ce mécanisme,
df12.columns[df12[df == 12].any()]
Si tel est le cas, le nom de la colonne,
Index(['c'], dtype='object')
Il peut être obtenu.
Ce sera le nom de colonne pertinent.
Alors, comment obtenez-vous le nom de l'index? Si tu penses normalement
df12.index[df12[df == 12].any()]
Il semble que vous puissiez y arriver.
Cependant, cette stratégie ne fonctionne pas.
df12[df == 12].any()
Comme vous pouvez le voir en exécutant
df12[df == 12].any() == 'c' (Nom de colonne)
Parce que c'est devenu.
Alors
df12.index[df12[df == 12].any()]
Le résultat de
Index(['c'], dtype='object')
Ce sera.
J'étais en difficulté.
Cependant, il est pratique de transférer à de tels moments!
df12.index[df12[df == 12].T.any()]
C'est une solution.
Puisque le nom de la colonne peut être obtenu avec df12 [df == 12] .any ()
,
Tout ce que vous avez à faire est de transposer le nom de l'index en nom de colonne.
Avec cela, l'objectif est atteint. Je suis heureux.
Recommended Posts