SlideShare ist ein Scribd-Unternehmen logo
1 von 18
2018/19 - 1Carlos J. Costa (ISEG)
CARLOS J. COSTA
Carlos J. Costa (2018/2019)
2018/19 - 2Carlos J. Costa (ISEG)
Pandas
• https://pandas.pydata.org/
• Biblioteca open source,
• Licenciado sobre BSD
• Alto desempenho
• Fácil de utilizar
• Inclui ferramentas de estruturas de dados
e análise de dados
2018/19 - 3Carlos J. Costa (ISEG)
Pandas
• DataFrame
– É uma estrutura etiquetada
– Tem colunas com tipos de dados
potencialmente diferentes
– Parecido com folha de cálculo ou tabela SQL
– É o objeto mais utilizado pelo Pandas
– Para além dos dados pode identificar ainda
as colunas (etiquetas das colunas) e índices
(etiquetas das linhas)
2018/19 - 4Carlos J. Costa (ISEG)
Pandas
• Criar dataframe a partir de dicionário
import pandas as pd
d = {'col1': [1,2,1,3,1,2], 'col2': [1,2,3,4,5,6]}
df = pd.DataFrame(data=d)
df.count()
df['col1'].value_counts()
df['col1'][1]=5
2018/19 - 5Carlos J. Costa (ISEG)
Pandas
• Copiar coluna
coluna1=df['col1’]
coluna1[2]=99
• Qual o resultado em coluna1 e df?
nova_coluna1 = coluna1.copy()
nova_coluna1[2]=9999
• E agora?
2018/19 - 6Carlos J. Costa (ISEG)
Pandas
• No collaboratoy:
from google.colab import files
files.upload()
• Depois no final
files.download(‘nome do ficheiro')
2018/19 - 7Carlos J. Costa (ISEG)
Pandas
• No computador, colocar o ficheiro de
dados na mesma pasta onde está gravado
o notebook
2018/19 - 8Carlos J. Costa (ISEG)
Pandas
• Importar pandas
import pandas as pd
df = pd.read_csv(‘factbook.csv')
2018/19 - 9Carlos J. Costa (ISEG)
Pandas
• Analisar informação
df.head() #cinco linhas
df.info()
df.describe()
df.columns
2018/19 - 10Carlos J. Costa (ISEG)
Pandas
• DataFrame.loc
• Acede a um grupo de linhas e colunas por
etiqueta (s) ou uma matriz booleana.
• loc [] é principalmente baseado em
etiquetas, mas também pode ser usado
com uma matriz booleana.
2018/19 - 11Carlos J. Costa (ISEG)
Pandas
• DataFrame.at
– Acede a um único valor para um par de etiquetas de
linha/coluna.
• DataFrame. iloc
– acede a um grupo de linhas e colunas por posição
inteira (s).
• DataFrame. Xs
– Retorna uma seção transversal (linha (s) ou coluna
(s)) da série/DataFrame.
• Série. Loc
– Acede a um grupo de valores utilizando etiquetas.
2018/19 - 12Carlos J. Costa (ISEG)
Pandas
• Celulas:
df.iloc[195][0]
• Linhas:
df.iloc[[195][0]]
• Colunas:
df.loc[:,'GDPpercapita']
2018/19 - 13Carlos J. Costa (ISEG)
Pandas
• Tipos de dados
df.dtypes
• Se o resultado for object há a necessidade de converter
uma coluna complete com etiqueta espefica para
numérico
df.loc[:,'GDPpercapita']=pd.to_numeric(df['GDPpercapita'],
errors='coerce’)
pd.to_numeric(argmento, errors) Errors pode ser
ignore, raise ou
coerce. Este último
converte em NAN
Pode ser lista,
tuplo, array,
série 1D
2018/19 - 14Carlos J. Costa (ISEG)
Pandas
• Obviamente, se for necessário também
nas outras variáveis:
• Pode-se entretanto
df.loc[:,'GDPpercapita']=pd.to_numeric(df['GDPpercapita'],
errors='coerce')
df.loc[:,'Military_percent_GDP']=pd.to_numeric(df['Military_percent_GDP
'], errors='coerce')
df.loc[:,'Unemployment rate(%)']=pd.to_numeric(df['Unemployment
rate(%)'], errors='coerce’)
• Pode-se ver o resultado:
df.dtypes
2018/19 - 15Carlos J. Costa (ISEG)
Pandas
• Criar uma nova dataframe
YX = df[['GDPpercapita','Military_percent_GDP','Unemployment
rate(%)’]]
• e
YX.dtypes
• Tudo numéricos claro…
2018/19 - 16Carlos J. Costa (ISEG)
Pandas
• Eliminar missing values de toda a matriz
YX=YX.dropna()
• Criar o X e Y:
Y = YX[['GDPpercapita']]
X = YX[['Military_percent_GDP','Unemployment
rate(%)']]
2018/19 - 17Carlos J. Costa (ISEG)
Pandas
• Para criar uma coluna correspondente a
internet per capita é necessário fazer
simplesmente:
df['internetpercapita']=df['Internet
users']/df['Population’]
2018/19 - 18Carlos J. Costa (ISEG)
Bibliografia
• https://pandas.pydata.org/
• https://pandas.pydata.org/pandas-
docs/stable/getting_started/10min.html
• https://scikit-learn.org/
• https://scikit-learn.org/stable/index.html
• https://www.statsmodels.org/stable/index.h
tml

Weitere ähnliche Inhalte

Ähnlich wie Python Pandas

364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
QuitriaSilva550
 
Lilacs application profile
Lilacs application  profileLilacs application  profile
Lilacs application profile
Sueli Suga
 

Ähnlich wie Python Pandas (20)

Aula 7 pc - estrutura
Aula 7   pc - estruturaAula 7   pc - estrutura
Aula 7 pc - estrutura
 
Bancos de Dados para Bibliotecarios
Bancos de Dados para BibliotecariosBancos de Dados para Bibliotecarios
Bancos de Dados para Bibliotecarios
 
Sql
SqlSql
Sql
 
2006 - ADONET.ppt
2006 - ADONET.ppt2006 - ADONET.ppt
2006 - ADONET.ppt
 
BD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelasBD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelas
 
Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitor
 
Linguagem C - Estruturas
Linguagem C - EstruturasLinguagem C - Estruturas
Linguagem C - Estruturas
 
Django + extjs pelos forms
Django + extjs pelos formsDjango + extjs pelos forms
Django + extjs pelos forms
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
 
Conceitos inicias de banco de dados Mysql
Conceitos inicias de banco de dados MysqlConceitos inicias de banco de dados Mysql
Conceitos inicias de banco de dados Mysql
 
Bd ii material
Bd ii   materialBd ii   material
Bd ii material
 
Minicurso de introdução a banco de dados geográficos
Minicurso de introdução a banco de dados geográficosMinicurso de introdução a banco de dados geográficos
Minicurso de introdução a banco de dados geográficos
 
Xml pucminas2013
Xml pucminas2013Xml pucminas2013
Xml pucminas2013
 
Oracle | Estatísticas
Oracle | EstatísticasOracle | Estatísticas
Oracle | Estatísticas
 
Pré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache SparkPré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache Spark
 
NoSQL + SQL = PostgreSQL (TDC2014 - Porto Alegre/RS)
NoSQL + SQL = PostgreSQL (TDC2014 - Porto Alegre/RS)NoSQL + SQL = PostgreSQL (TDC2014 - Porto Alegre/RS)
NoSQL + SQL = PostgreSQL (TDC2014 - Porto Alegre/RS)
 
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
 
Apostila aed
Apostila aedApostila aed
Apostila aed
 
Lilacs application profile
Lilacs application  profileLilacs application  profile
Lilacs application profile
 
Algoritmos e Técnicas de Programação - Aula 06
Algoritmos e Técnicas de Programação - Aula 06Algoritmos e Técnicas de Programação - Aula 06
Algoritmos e Técnicas de Programação - Aula 06
 

Mehr von Carlos J. Costa

Mehr von Carlos J. Costa (20)

Generative AI
Generative AIGenerative AI
Generative AI
 
IA Generativa
IA GenerativaIA Generativa
IA Generativa
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Power BI Computing Languages
Power BI Computing LanguagesPower BI Computing Languages
Power BI Computing Languages
 
Python Scikit-Learn
Python Scikit-LearnPython Scikit-Learn
Python Scikit-Learn
 
Python Numpy
Python NumpyPython Numpy
Python Numpy
 
Open Source Robotics as Booster to Creativity
Open Source Robotics as  Booster to CreativityOpen Source Robotics as  Booster to Creativity
Open Source Robotics as Booster to Creativity
 
Introdução à Gestão de Projetos - Conceitos
Introdução à Gestão de Projetos - ConceitosIntrodução à Gestão de Projetos - Conceitos
Introdução à Gestão de Projetos - Conceitos
 
Pós-Graduação em Gestão de Projetos
Pós-Graduação em Gestão de ProjetosPós-Graduação em Gestão de Projetos
Pós-Graduação em Gestão de Projetos
 
Introdução à Gestão de Projeto
Introdução à Gestão de ProjetoIntrodução à Gestão de Projeto
Introdução à Gestão de Projeto
 
Usability
UsabilityUsability
Usability
 
Wordpress
WordpressWordpress
Wordpress
 
Client-Side Web Development - An Overview
Client-Side Web Development - An OverviewClient-Side Web Development - An Overview
Client-Side Web Development - An Overview
 
HTML
HTMLHTML
HTML
 
Web Page Development - An Overview
Web Page Development - An OverviewWeb Page Development - An Overview
Web Page Development - An Overview
 
ERP
ERPERP
ERP
 
Weka
WekaWeka
Weka
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Globalization
GlobalizationGlobalization
Globalization
 
Information systems organization
Information systems organizationInformation systems organization
Information systems organization
 

Python Pandas

  • 1. 2018/19 - 1Carlos J. Costa (ISEG) CARLOS J. COSTA Carlos J. Costa (2018/2019)
  • 2. 2018/19 - 2Carlos J. Costa (ISEG) Pandas • https://pandas.pydata.org/ • Biblioteca open source, • Licenciado sobre BSD • Alto desempenho • Fácil de utilizar • Inclui ferramentas de estruturas de dados e análise de dados
  • 3. 2018/19 - 3Carlos J. Costa (ISEG) Pandas • DataFrame – É uma estrutura etiquetada – Tem colunas com tipos de dados potencialmente diferentes – Parecido com folha de cálculo ou tabela SQL – É o objeto mais utilizado pelo Pandas – Para além dos dados pode identificar ainda as colunas (etiquetas das colunas) e índices (etiquetas das linhas)
  • 4. 2018/19 - 4Carlos J. Costa (ISEG) Pandas • Criar dataframe a partir de dicionário import pandas as pd d = {'col1': [1,2,1,3,1,2], 'col2': [1,2,3,4,5,6]} df = pd.DataFrame(data=d) df.count() df['col1'].value_counts() df['col1'][1]=5
  • 5. 2018/19 - 5Carlos J. Costa (ISEG) Pandas • Copiar coluna coluna1=df['col1’] coluna1[2]=99 • Qual o resultado em coluna1 e df? nova_coluna1 = coluna1.copy() nova_coluna1[2]=9999 • E agora?
  • 6. 2018/19 - 6Carlos J. Costa (ISEG) Pandas • No collaboratoy: from google.colab import files files.upload() • Depois no final files.download(‘nome do ficheiro')
  • 7. 2018/19 - 7Carlos J. Costa (ISEG) Pandas • No computador, colocar o ficheiro de dados na mesma pasta onde está gravado o notebook
  • 8. 2018/19 - 8Carlos J. Costa (ISEG) Pandas • Importar pandas import pandas as pd df = pd.read_csv(‘factbook.csv')
  • 9. 2018/19 - 9Carlos J. Costa (ISEG) Pandas • Analisar informação df.head() #cinco linhas df.info() df.describe() df.columns
  • 10. 2018/19 - 10Carlos J. Costa (ISEG) Pandas • DataFrame.loc • Acede a um grupo de linhas e colunas por etiqueta (s) ou uma matriz booleana. • loc [] é principalmente baseado em etiquetas, mas também pode ser usado com uma matriz booleana.
  • 11. 2018/19 - 11Carlos J. Costa (ISEG) Pandas • DataFrame.at – Acede a um único valor para um par de etiquetas de linha/coluna. • DataFrame. iloc – acede a um grupo de linhas e colunas por posição inteira (s). • DataFrame. Xs – Retorna uma seção transversal (linha (s) ou coluna (s)) da série/DataFrame. • Série. Loc – Acede a um grupo de valores utilizando etiquetas.
  • 12. 2018/19 - 12Carlos J. Costa (ISEG) Pandas • Celulas: df.iloc[195][0] • Linhas: df.iloc[[195][0]] • Colunas: df.loc[:,'GDPpercapita']
  • 13. 2018/19 - 13Carlos J. Costa (ISEG) Pandas • Tipos de dados df.dtypes • Se o resultado for object há a necessidade de converter uma coluna complete com etiqueta espefica para numérico df.loc[:,'GDPpercapita']=pd.to_numeric(df['GDPpercapita'], errors='coerce’) pd.to_numeric(argmento, errors) Errors pode ser ignore, raise ou coerce. Este último converte em NAN Pode ser lista, tuplo, array, série 1D
  • 14. 2018/19 - 14Carlos J. Costa (ISEG) Pandas • Obviamente, se for necessário também nas outras variáveis: • Pode-se entretanto df.loc[:,'GDPpercapita']=pd.to_numeric(df['GDPpercapita'], errors='coerce') df.loc[:,'Military_percent_GDP']=pd.to_numeric(df['Military_percent_GDP '], errors='coerce') df.loc[:,'Unemployment rate(%)']=pd.to_numeric(df['Unemployment rate(%)'], errors='coerce’) • Pode-se ver o resultado: df.dtypes
  • 15. 2018/19 - 15Carlos J. Costa (ISEG) Pandas • Criar uma nova dataframe YX = df[['GDPpercapita','Military_percent_GDP','Unemployment rate(%)’]] • e YX.dtypes • Tudo numéricos claro…
  • 16. 2018/19 - 16Carlos J. Costa (ISEG) Pandas • Eliminar missing values de toda a matriz YX=YX.dropna() • Criar o X e Y: Y = YX[['GDPpercapita']] X = YX[['Military_percent_GDP','Unemployment rate(%)']]
  • 17. 2018/19 - 17Carlos J. Costa (ISEG) Pandas • Para criar uma coluna correspondente a internet per capita é necessário fazer simplesmente: df['internetpercapita']=df['Internet users']/df['Population’]
  • 18. 2018/19 - 18Carlos J. Costa (ISEG) Bibliografia • https://pandas.pydata.org/ • https://pandas.pydata.org/pandas- docs/stable/getting_started/10min.html • https://scikit-learn.org/ • https://scikit-learn.org/stable/index.html • https://www.statsmodels.org/stable/index.h tml