[Python Fennel Bean Series] PANDAS Modifica o nome da coluna DataFrame

[Python Fennel Bean Series] PANDAS Modifica o nome da coluna DataFrame

Ao programar em Python, às vezes é interessante usar métodos diferentes para atingir o mesmo objetivo. Isso me lembra Kong Yiji de Lu Xun. Kong Yiji pesquisou bastante sobre as quatro maneiras de escrever a palavra erva-doce para feijão de erva-doce. Não me atrevo a me comparar com Kong Yiji, então aqui coleciono alguns grãos de erva-doce Python para a diversão de todos os programadores.

Primeiro prepare uma função para gerar um DataFrame para teste. Este DataFrame possui 3 colunas denominadas a, b e c.

import pandas as pd
def get_df():
    return pd.DataFrame({
    
    'a':[1,2,3], 'b':[4,5,6], 'c':[7,8,9]})
get_df()
a b c
0 1 4 7
1 2 5 8
2 3 6 9

Fennel Bean One: atributo de colunas

Um dia, o BOSS disse que os nomes das colunas do DataFrame deveriam ser alterados para letras maiúsculas. Então, simplesmente joguei uma List na propriedade columns do DataFrame e a tarefa foi concluída. Os exemplos são os seguintes:

df = get_df()
df.columns=['A','B','C']
df
A B C
0 1 4 7
1 2 5 8
2 3 6 9

feijão de erva-doce 2: colunas.str

Um dia, o BOSS me deu um DataFrame com 300 colunas e disse que os nomes das colunas deveriam ser alterados para letras maiúsculas. Obviamente, usar o método acima é um desperdício de vida. Então usei colunas.str. Os exemplos são os seguintes:

df = get_df()
df.columns = df.columns.str.upper()
df
A B C
0 1 4 7
1 2 5 8
2 3 6 9

Funcho Bean Três: renomear Método 1

Um dia, o BOSS me deu um DataFrame com 300 colunas e disse que a coluna a deveria ser renomeada para A, a coluna c deveria ser renomeada para C e as demais colunas deveriam permanecer inalteradas. Então usei o método renomear. Os exemplos são os seguintes:

df = get_df()
df.rename(columns={
    
    'a': 'A', 'c': 'C'})
A b C
0 1 4 7
1 2 5 8
2 3 6 9

O método rename possui um parâmetro inplace e o valor padrão é False. No exemplo acima, df não mudou.

df
a b c
0 1 4 7
1 2 5 8
2 3 6 9

Se quiser alterá-lo, você precisa definir inplace como True.

df.rename(columns={
    
    'a': 'A', 'c': 'C'}, inplace=True)
df
A b C
0 1 4 7
1 2 5 8
2 3 6 9

Feijão de erva-doce quatro: renomear método 2

Claro, você também pode usar funções, por exemplo:

df.rename(columns=lambda x:x.upper())
A B C
0 1 4 7
1 2 5 8
2 3 6 9

Funcho Bean Five: renomear Método 3

O parâmetro columns não é usado aqui, por exemplo:

df.rename(str.upper, axis=1)
A B C
0 1 4 7
1 2 5 8
2 3 6 9

renomear é uma coisa boa. Para uso detalhado, consulte: documentação oficial .
Então, quais são os benefícios de usar renomear? Vamos dar um exemplo:

df = get_df()
df.T.rename(columns=lambda x:x+1).T
a b c
1 1 4 7
2 2 5 8
3 3 6 9

Feijão de erva-doce seis: remover e adicionar

Se estou me sentindo particularmente feliz, posso considerar:

df = get_df()
for k, v in {
    
    'a': 'A','b': 'B', 'c': 'C'}.items():
    df[v] = df.pop(k)
df
A B C
0 1 4 7
1 2 5 8
2 3 6 9

Acho que você gosta

Origin blog.csdn.net/mouse2018/article/details/113407386
Recomendado
Clasificación