data = [[1,2,3],[4,5,6],[7,8,9]]
col = ['A','C','E']
df = pd.DataFrame(data, columns=col)
# A C E
#0 1 2 3
#1 4 5 6
#2 7 8 9
Dans Pandas 0.23 ou version antérieure, si vous spécifiez A, B, C dans l'élément avec loc, Tous les noms d'éléments ne figurant pas dans les données ont été créés en tant que valeurs manquantes.
sel_col = ['A','B','C']
print(df.loc[:,sel_col])
#version 0.Avant 23
# A B C
#0 1 NaN 2
#1 4 NaN 5
#2 7 NaN 8
Toutefois, dans Pandas 1.0 et versions ultérieures, l'erreur suivante s'affiche.
Apparemment, vous ne devriez pas spécifier d'éléments qui ne sont pas dans le bloc de données. Si vous souhaitez créer un élément manquant dans le bloc de données comme auparavant, vous pouvez utiliser la réindexation à la place.
sel_col = ['A','B','C']
print(df.reindex(columns=sel_col))
# A B C
#0 1 NaN 2
#1 4 NaN 5
#2 7 NaN 8
Ou si vous souhaitez afficher uniquement les éléments inclus dans le bloc de données, procédez comme suit Il semble qu'il soit possible de prendre une intersection entre un élément de bloc de données et un élément spécifié.
print(df.loc[:,df.columns.intersection(sel_col)])
# A C
#0 1 2
#1 4 5
#2 7 8
Recommended Posts