Я пытаюсь построить двумерный ccdf
набора данных, который имеет x
и y
значения обоих.Bivariate CDF/CCDF Distribution Python
Univariate Я могу построить очень хорошо, ниже вход и код для унифицированного набора данных.
Ввод: Это только первые 20 строк точек данных. Ввод содержит 1000 строк, из которых col[1]
и col[3]
необходимо отобразить, так как они имеют отношение частоты пользователей и ключевых слов.
tweetcricscore 34 #afgvssco 51
tweetcricscore 23 #afgvszim 46
tweetcricscore 24 #banvsire 12
tweetcricscore 456 #banvsned 46
tweetcricscore 653 #canvsnk 1
tweetcricscore 789 #cricket 178
tweetcricscore 625 #engvswi 46
tweetcricscore 86 #hkvssco 23
tweetcricscore 3 #indvsban 1
tweetcricscore 87 #sausvsvic 8
tweetcricscore 98 #wt20 56
Код: univeriate набор данных
import numpy as np
import matplotlib.pyplot as plt
from pylab import*
import math
from matplotlib.ticker import LogLocator
data = np.genfromtxt('keyword.csv', delimiter=',', comments=None)
d0=data[:,1]
X0 = np.sort(d0)
cdf0 = np.arange(len(X0))/float(len(X0))
ccdf0 = 1 - cdf0
plt.plot(X0,ccdf0, color='b', marker='.', label='Keywords')
plt.legend(loc='upper right')
plt.xlabel('Freq (x)')
plt.ylabel('ccdf(x)')
plt.gca().set_xscale("log")
#plt.gca().set_yscale("log")
plt.show()
Я ищу какой-то вариант для двумерных точек данных. Я ссылался на Seaborn Bivariate Distribution Но я не могу привести его в надлежащий контекст с моим набором данных.
Любое альтернативное предложение в пределах python, matplotlib, seaborn приветствуется .. Заранее спасибо.
ваш пример имеет только одно отличное значение в одном из столбцов, поэтому я не уверен, что вижу точку двумерной оценки плотности. –
Я упомянул, что это только первые 20 строк. Данные отсортированы уже. Оба столбца имеют разные значения. –
Затем вы должны обновить свой пример, чтобы быть более представительным. Случайных данных должно быть достаточно. –