4 truques em Pandas que a maioria não conhece (excelente)

Alguns métodos incomuns, mas interessantes em Pandas, que poderiam economizar nosso tempo

Se você é um Analista de Dados ou Cientista de Dados, você deve conhecer a biblioteca Pandas que é padrão de manipulação e de limpeza de dados em Python.

Neste artigo, veremos alguns truques em Pandas. Acredito que eles agilizarão nossos trabalhos e tornarão nossa vida mais fácil às vezes.

1. criar dataframe a partir do clipboard

Suponha que tenhamos um arquivo Excel com várias planilhas. Agora, queremos ter dados parciais de uma planilha a serem processados em Python. O que normalmente podemos fazer para implementar isso?

método comum

  1. Cole-o em outra folha de dados.
  2. Salve a folha atual no arquivo CSV.
  3. Obtenha o caminho do novo arquivo CSV.
  4. Vá para Python, use read_csv para ler o arquivo em um DataFrame pandas.pd.read_csv('path/to/csv/file')

método prático (sensacional)

  1. Copie a área dos dados que você precisa.
  2. Vá para Python, use .pd.read_clipboard()

Como mostrado acima, como é fácil! Você não precisa ter um arquivo CSV ou Excel separado se você apenas quiser carregar alguns dados em Pandas.

parse_dates

O truque é deixar pandas saber qual coluna é formato de data que precisa ser analisado.

df = pd.read_clipboard(parse_dates=['dob'])

2. gerar dummies usando métodos de teste

pandas util testing

Neste caso, há uma maneira muito mais fácil de fazê-lo. Ou seja, usando o pacote para gerar o quadro de dados da amostra.pandas.util.testing

pd.util.testing.makeDataFrame()

O índice do DataFrame será gerado usando strings aleatórias. Por padrão, haverá 30 linhas com 4 colunas.

Se precisarmos de um certo número de linhas e colunas, podemos definir o número de linhas N e o número de colunas K:

pd.util.testing.N = 10 "linhas"
pd.util.testing.K = 5 "colunas"
pd.util.testing.makeDataFrame()

3. dataframe de saída comprimido

Por exemplo, como engenheiro de dados, exigência que é produzir DataFrames Pandas em arquivos CSV e transferí-los para um servidor remoto. Para poupar espaço, bem como a largura de banda, os arquivos precisam ser comprimidos antes de enviar.

Assim, a solução mais limpa e menos complicada com menos passos.

Vamos gerar um quadro de dados aleatório usando a dica 2:

pd.util.testing.N = 100000
pd.util.testing.K = 5
df = pd.util.testing.makeDataFrame()

Veja, neste caso, nós só queremos um quadro de dados e os valores nele não é totalmente uma preocupação.

Agora, vamos salvar o DataFrama em um arquivo CSV e verificar o tamanho.

import osdf.to_csv('sample.csv')os.path.getsize('sample.csv')

Em seguida, podemos testar a saída do mesmo quadro de dados em um arquivo compactado e verificar o tamanho do arquivo.

df.to_csv('sample.csv.gz',compression='gzip')os.path.getsize('sample.csv.gz')

Podemos ver que o arquivo compactado é menos da metade do arquivo CSV normal.

Pandas pode ler diretamente o arquivo comprimido de volta em um quadro de dados. Você não precisa descompactá-lo no sistema de arquivos.

df = pd.read_csv('sample.csv.gz', compression='gzip', index_col=0)

É preferível usá-lo porque ele existe na maioria do sistema Linux por padrão. Pandas também suportam mais formatos de compressões como “zip” e “bz2”.

4. obtenha datetime de várias colunas

No entanto, podemos ter o seguinte tipo de quadro de dados como nossos dados brutos, às vezes.

df = pd.DataFrame({
'year': np.arange(2000, 2012),
'month': np.arange(1, 13),
'day': np.arange(1, 13),
'value': np.random.randn(12)
})

ano, mês e dia em uma coluna

df['date'] = pd.to_datetime(df[['year', 'month', 'day']])

incrível.

resumindo

Obrigado.

Composing a repository of books (i bought), authors (i follow) & blogs (direct ones) for my own understanding.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store