Как создать перекошенный столбец в pandas кадре данных? - PullRequest
2 голосов
/ 28 апреля 2020

Я хотел бы создать новый столбец в кадре данных с перекошенным распределением. Мне бы хотелось, чтобы оно имело 64000 точек данных, с минимумом 0 (без отрицательных значений) и некоторой перекосом формы, когда большинство людей ближе к 0, а затем выравнивается вправо с более высокими значениями.

Я пробовал это, но я не могу это сделать. Любая помощь с благодарностью.

rv = skewnorm.rvs(400000, size=100000)

1 Ответ

2 голосов
/ 28 апреля 2020

Вы можете использовать экспоненциальное или пуассон распределение в зависимости от того, что именно вы ищете. Экспоненциальное распределение даст непрерывные значения, в то время как пуассон даст дискретные значения. Оба могут быть найдены в пакете numpy. После создания массива numpy его можно легко добавить в кадр данных pandas.

Экспоненциальное распределение (numpy):

import numpy as np

beta = 10
s = np.random.exponential(beta, 64000)

beta действует как параметр масштаба и определяет, насколько большими будут значения, при сохранении общей формы распределения. Участок с beta=10 и 100 лотками:

Exponential plot

Распределение Пуассона (numpy):

import numpy as np

lam = 0.9
s = np.random.poisson(lam , 64000)

Параметр скорости lam будет определять форму распределения. Среднее значение и дисперсия будут равны lam. Обратите внимание, что получаются только дискретные значения. Участок с lam=0.9 и 8 ячейками:

Poisson plot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...