<jupyter_start><jupyter_text>Pandas - SeriesElemento mais básico (data + indices)Muito semelhante a um dicionárioPode ser criado a partir de outros objetosTem rótulos de eixos: pode ser indexado por um rótulo, em vez de apenas uma localização numérica.Também pode conter qualquer objeto Python arbitrário<jupyter_code># Import Library

import numpy as np
import pandas as pd
#from pandas import Series, DataFrame

# Criando uma Serie Vazia

# data: Objetos que vão ser passados
# index: forma que vai acessar esses objetos

pd.Series(data=None, index=None)
# Criando Series - A partir de outros objetos

labels = ['a','b','c']
list1 = [10,20,30]
arr1 = np.array([10,20,30])
dic1 = {'a':10,'b':20,'c':30}

# Criando Series - indices numericos (default)

series1 = pd.Series(data = list1) # same as series1 = pd.Series(list1)
print(series1)
print()

# Atributos de uma serie

print(series1.dtype)
print(series1.values)
print(series1.index)
print()

# Criando Series - a partir de lista e labels

series2 = pd.Series(list1,labels) # same as series2 = pd.Series(data = list1, index = labels)
print(series2)
print()

# Criando Series - a partir de array e labels

series3 = pd.Series(arr1,labels)
print(series3)
print()

# Criando Series - a partir de um dicionario 1

series4 = pd.Series(dic1)
print(series4)
print()

# Criando Series - a partir de um dicionario 2

dic2 = {'Sp':3500,'Rj':4000,'Am':4500,'Bsb':100}
order = ['Bsb','Am','Sp','Rj','Ce']
series5 = pd.Series(dic2,index = order)
print(series5)
print()

# Criando Series - a partir de uma lista de funções (objetos)

series6 = pd.Series([sum,print,len])
print(series6)
# Acessando/Filtrando Valores/Indices

series7 = pd.Series([10,20,30,40,50],['a','b','c','d','e'])
print(series7)
print()

print(series7['b'])
print()

print(series7[['a','c']])
print()

print(series7[series7<30])
print()

print(series7*2)
print()

print('c' in series7)
print('x' in series7)
# Operações sobre series, utilizando numpy

series1 = pd.Series([1,2,3])
print(np.exp(series1))
print()

# Operações entre series

ser4 = pd.Series([1,2,3,4],index = ['EUA','Alemanha','URSS','Japão'])
ser5 = pd.Series([1,2,3,4],index = ['EUA','Alemanha','Itália','Japão'])
ser6 = ser4 + ser5 # soma os valores que tem mesmo index

print(ser6)
print()

# Obs: quando não há índice nas duas series: retorna "NaN"
# Obs: operações: + - * / **<jupyter_output>0     2.718282
1     7.389056
2    20.085537
dtype: float64

Alemanha    4.0
EUA         2.0
Itália      NaN
Japão       8.0
URSS        NaN
dtype: float64
{'fraction_non_alphanumeric': 0.14630288651640966, 'fraction_numerical': 0.054962435745353894, 'mean_word_length': 4.870069605568445, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 4, 'https://': 0, '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': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '492097', 'license': 'MIT', 'n_tokens_mistral': 1023, 'n_tokens_neox': 980, 'n_words': 265, 'path': 'scripts_numpy_pandas/Pandas_01_series.ipynb', 'repo_name': 'davidcoelho89/MLTool_python', 'size': '2529'}