<jupyter_start><jupyter_text>Pandas SeriesAgora que vimos NumPy Arrays, podemos prosseguir para **Pandas Series**, que são NumPy Arrays com índices explícitos. São parecidos com os dicionários de Python.Pandas é uma biblioteca de manipulação de dados construída em cima do NumPy.https://pandas.pydata.org/ Existem várias maneiras de se criar uma Series, vamos ver como criar a partir de listas e dicionários.<jupyter_code>lista = [50,21,76,84,98]
import pandas as pd
#Por convenção, chamamos Pandas de pd.
pd.Series(data=lista)<jupyter_output><empty_output><jupyter_text>Note que possuímos um claro mapeamento de índices/chaves (na esquerda) com valores (na direita)Note que não definimos um índice(index) próprio, e o Pandas definiu automaticamente.**Note também que usamos uma lista comum de Python, mas poderíamos ter usado NumPy Arrays.**<jupyter_code>pd.Series(data=lista,index=['EUA','Brasil','Argentina','Japao','Russia'])
import numpy as np

pd.Series(np.arange(2,20))

#Não é preciso explicitar "data=", visto que já é o primeiro argumento recebido.<jupyter_output><empty_output><jupyter_text>Vamos agora criar uma Series através de um dicionário.<jupyter_code>d = {'USA':124189, 'BR':21451782, 'RU':51241}
pd.Series(d)<jupyter_output><empty_output><jupyter_text>**Note que as chaves do dicionário viram o índice da Series.**A consulta dos valores em uma Series também é feita de forma similar às consultas de dicionário<jupyter_code>ser = pd.Series(data=lista,index=['EUA','Brasil','Argentina','Japao','Russia'])
ser
ser['EUA']
ser['Brasil']<jupyter_output><empty_output><jupyter_text>Podemos fazer operações entre Series.<jupyter_code>ser2 = pd.Series(data=np.random.randint(60,120,5), index=['Chile','EUA','Japao','Italia','Noruega'])
ser + ser2<jupyter_output><empty_output><jupyter_text>Note como os valores em comum foram somados **e convertidos para floats** (é uma maneira do NumPy assegurar que nenhuma informação será perdida).E aqueles que existem em um e não existem no outro, possuem o valor nulo (NaN) (**np.nan**)<jupyter_code>np.nan<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11212266411116435, 'fraction_numerical': 0.019166267369429803, 'mean_word_length': 7.4534412955465585, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '54886', 'license': 'MIT', 'n_tokens_mistral': 785, 'n_tokens_neox': 758, 'n_words': 211, 'path': '2 - Pandas Series.ipynb', 'repo_name': 'FernandoLGL/aula-machinelearning-jupyter', 'size': '2087'}