Как создать Pandas DataFrame со случайными данными


Вы можете использовать следующий базовый синтаксис для создания кадра данных pandas, заполненного случайными целыми числами:

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

В этом конкретном примере создается DataFrame с 10 строками и 3 столбцами, где каждое значение в DataFrame представляет собой случайное целое число от 0 до 100 .

В следующих примерах показано, как использовать этот синтаксис на практике.

Пример 1: создание Pandas DataFrame со случайными данными

В следующем коде показано, как создать кадр данных pandas с 10 строками и 3 столбцами, где каждое значение в кадре данных представляет собой случайное целое число от 0 до 100:

import pandas as pd
import numpy as np

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

#view DataFrame
print(df)

 A B C
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

Обратите внимание, что каждый раз, когда вы запускаете этот код, случайные целые числа в DataFrame будут разными.

Если вы хотите создать воспроизводимый пример, в котором случайные целые числа каждый раз одинаковы, вы можете использовать следующий фрагмент кода непосредственно перед созданием DataFrame:

np.random.seed ( 0 )

Теперь каждый раз, когда вы запускаете код, случайные целые числа в DataFrame будут одинаковыми.

Пример 2: добавить столбец случайных данных в существующий фрейм данных

Предположим, у нас есть следующие существующие Pandas DataFrame:

import pandas as pd

#create DataFrame
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 H 28 4 12

Мы можем использовать следующий код, чтобы добавить новый столбец с именем «rand», который содержит случайные целые числа от 0 до 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 H 28 4 12 19

Обратите внимание, что новый столбец «rand» был добавлен в существующий DataFrame.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Как вменить пропущенные значения в Pandas
Как заменить значения NaN на ноль в Pandas
Как проверить, пуста ли ячейка в Pandas

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.