Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Porque utilizo ".pd" para algumas funções pandas e em outras não

Olá a todos!

Gostaria de entender porque coloco .pd em algumas funções pandas e em outras não.

Por exemplo:

notas = pd.read_csv -> coloco o "pd" para chamar a função

notas['nota'].value_counts() -> o professor do curso disse que essa função .value_counts() pertence a biblioteca pandas, mas essa não precisa colocar "pd" antes

Queria entender se isso é a forma como a função foi construída ou se é por padronização ou outro motivo.

Agradeço desde já.

2 respostas
solução!

Olá, Matheus! Tudo tranquilo por aí?

Primeiramente caso você não possua familiaridade com orientação a objetos, sugiro a leitura desse artigo.

Essas diferenciações se devem ao paradigma de programação, que é orientação a objetos, com a qual a biblioteca Pandas é desenvolvida.

Quando o método não depende de um objeto da biblioteca Pandas, então precisamos do pd, que é o apelido do pandas, para dizermos pro Python que estamos acessando uma função da biblioteca. Quando você já possui um objeto do pandas, como por exemplo uma Series ou um DataFrame, esses objetos já possuem alguns métodos e aí não é necessário explicitar pro Python o pd, já é reconhecido automaticamente. Nessa outra resposta é explicada diferença de Series e DataFrame.

Uma dica, que eu utilizo, é sempre olhar a documentação e ver o título que está lá. Vamos a um exemplo.

1. read_csv:

# Título na documentação:

pandas.read_csv

Quando vier assim, pandas seguido do nome do método, significa que só depende da instalação da biblioteca e não de algum objeto, então faz-se necessário o uso sempre do pd para dizer ao Python que estamos acessando um método da biblioteca Pandas

2. value_counts:

# Título na documentação:

pandas.Series.value_count

Agora, antes do value_count, temos Series, que é um objeto do pandas que o read_csv (e outras funções) retorna. Então nesses casos não é necessário o uso pd, pois como é um objeto da biblioteca Pandas, já fica subentendido para o Python.

Espero ter ajudado, mas se ainda persistir alguma dúvida me retorne por aqui para sanarmos.

:)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Olá, Bruno.

Muito boa a sua explicação!

Consegui entender e minha dúvida foi sanada. Obrigado.