Como criar um dataframe pandas com dados aleatórios


Você pode usar a seguinte sintaxe básica para criar um DataFrame do pandas preenchido com números inteiros aleatórios:

 df = pd. DataFrame ( np.random.randint ( 0,100 ,size=( 10,3 )) , columns=list( ' ABC '))

Este exemplo específico cria um DataFrame com 10 linhas e 3 colunas onde cada valor no DataFrame é um número inteiro aleatório entre 0 e 100 .

Os exemplos a seguir mostram como usar essa sintaxe na prática.

Exemplo 1: Crie um DataFrame Pandas com dados aleatórios

O código a seguir mostra como criar um DataFrame do pandas com 10 linhas e 3 colunas onde cada valor no DataFrame é um número inteiro aleatório entre 0 e 100:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ( np.random.randint ( 0,100 ,size=( 10,3 )), columns=list( ' ABC ') ) 

#view DataFrame
print (df)

    ABC
0 72 70 27
1 87 85 7
2 4 42 84
3 85 87 63
4 79 72 30
5 96 99 79
6 26 47 90
7 35 69 56
8 42 47 0
9 97 4 59

Observe que cada vez que você executar esse código, os números inteiros aleatórios no DataFrame serão diferentes.

Se você deseja criar um exemplo reproduzível onde os números inteiros aleatórios são sempre iguais, você pode usar o seguinte trecho de código imediatamente antes de criar o DataFrame:

 n.p. random . seed ( 0 )

Agora, toda vez que você executar o código, os números inteiros aleatórios no DataFrame serão os mesmos.

Exemplo 2: Adicionar uma coluna de dados aleatórios a um DataFrame existente

Vamos supor que temos o seguinte DataFrame do pandas existente:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

Podemos usar o seguinte código para adicionar uma nova coluna chamada “rand” que contém números inteiros aleatórios entre 0 e 100:

 import numpy as np

#add 'rand' column that contains 8 random integers between 0 and 100
df[' rand '] = np. random . randint ( 0,100 , size = ( 8,1 ))

#view updated DataFrame
print (df)

  team points assists rebounds rand
0 A 18 5 11 47
1 B 22 7 8 64
2 C 19 7 10 82
3 D 14 9 6 99
4 E 14 12 6 88
5 F 11 9 5 49
6 G 20 9 9 29
7:28 4 12 19

Observe que a nova coluna “rand” foi adicionada ao DataFrame existente.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Como imputar valores ausentes em pandas
Como substituir valores NaN por zero no Pandas
Como verificar se a célula está vazia no Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *