相关疑难解决方法(0)

在python中绘制熊猫系列的CDF

有没有办法做到这一点?我似乎不能轻易地将pandas系列与绘制CDF联系起来.

python series pandas cdf

39
推荐指数
6
解决办法
5万
查看次数

如何在Python中用matplotlib绘制cdf?

我有一个名为的无序列表d,如下所示:

[0.0000, 123.9877,0.0000,9870.9876, ...]
Run Code Online (Sandbox Code Playgroud)

我只是想通过在Python中使用Matplotlib来绘制基于此列表的cdf图.但是不知道我是否可以使用任何功能

d = []
d_sorted = []
for line in fd.readlines():
    (addr, videoid, userag, usertp, timeinterval) = line.split()
    d.append(float(timeinterval))

d_sorted = sorted(d)

class discrete_cdf:
    def __init__(data):
        self._data = data # must be sorted
        self._data_len = float(len(data))

    def __call__(point):
        return (len(self._data[:bisect_left(self._data, point)]) / 
               self._data_len)

cdf = discrete_cdf(d_sorted)
xvalues = range(0, max(d_sorted))
yvalues = [cdf(point) for point in xvalues]
plt.plot(xvalues, yvalues)
Run Code Online (Sandbox Code Playgroud)

现在我正在使用此代码,但错误消息是:

Traceback (most recent call last):
File "hitratioparea_0117.py", line 43, in <module>
cdf = discrete_cdf(d_sorted) …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

17
推荐指数
5
解决办法
6万
查看次数

numpy/scipy相当于R ecdf(x)(x)函数?

ecdf(x)(x)在Numpy或scipy中,R的R 函数相当于什么?是ecdf(x)(x)基本相同:

import numpy as np
def ecdf(x):
  # normalize X to sum to 1
  x = x / np.sum(x)
  return np.cumsum(x)
Run Code Online (Sandbox Code Playgroud)

还是需要其他东西?

编辑如何控制使用的垃圾箱数量ecdf

python numpy r scipy

15
推荐指数
4
解决办法
2万
查看次数

在Python中计算累积分布函数(CDF)

如何在python中计算累积分布函数(CDF)

我想从我所拥有的点数(离散分布)计算它,而不是像scipy那样的连续分布.

python statistics numpy machine-learning scipy

15
推荐指数
3
解决办法
5万
查看次数

读取文件并在Python中绘制CDF

我需要在几秒钟内读取带有时间戳的长文件,以及使用numpy或scipy的CDF图.我确实试过numpy,但似乎输出不是它应该是什么.以下代码:任何建议表示赞赏.

import numpy as np
import matplotlib.pyplot as plt

data = np.loadtxt('Filename.txt')
sorted_data = np.sort(data)
cumulative = np.cumsum(sorted_data)

plt.plot(cumulative)
plt.show()
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib scipy cdf

7
推荐指数
2
解决办法
4万
查看次数

从两个数组中减去所有成对的值

我有两个向量,v1v2。我想v2从的每个值中减去的每个值v1并将结果存储在另一个向量中。我也想使用非常大的向量(例如1e6大小),因此我认为我应该使用numpy来提高性能。

到目前为止,我有:

import numpy
v1 = numpy.array(numpy.random.uniform(-1, 1, size=1e2))
v2 = numpy.array(numpy.random.uniform(-1, 1, size=1e2))
vdiff = []
for value in v1:
    vdiff.extend([value - v2])
Run Code Online (Sandbox Code Playgroud)

这将创建一个包含100个条目的列表,每个条目都是大小为100的数组。尽管如此,我不知道这是否是最有效的方法。我想以尽可能小的对象大小(内存方式)非常快速地计算1e4期望值。

python numpy bigdata

3
推荐指数
1
解决办法
1810
查看次数

没有步进功能的python中的ECDF?

我一直在使用statsmodels.distributions的ECDF(经验累积分布函数)绘制一些数据的CDF.然而,ECDF使用阶梯函数,因此我得到锯齿状的图.

在此输入图像描述

所以我的问题是:scipy或statsmodels是否有没有步进功能的ECDF烘焙?

顺便说一句,我知道我可以这样做:

hist, bin_edges = histogram(b_oz, normed=True)
plot(np.cumsum(hist))
Run Code Online (Sandbox Code Playgroud)

但我没有得到正确的尺度.

谢谢!

python scipy statsmodels

2
推荐指数
1
解决办法
1万
查看次数

python中的经验cdf类似于matlab的一个

我在matlab中有一些代码,我想重写成python.它是一个简单的程序,它计算一些分布并以双对数刻度绘制它.

我遇到的问题是计算cdf.这是matlab代码:

for D = 1:10
    delta = D / 10;
    for k = 1:n
        N_delta = poissrnd(delta^-alpha,1);
        Y_k_delta = ( (1 - randn(N_delta)) / (delta.^alpha) ).^(-1/alpha);
        Y_k_delta = Y_k_delta(Y_k_delta > delta);
        X(k) = sum(Y_k_delta);
        %disp(X(k))

    end
    [f,x] = ecdf(X);

    plot(log(x), log(1-f))
    hold on
end
Run Code Online (Sandbox Code Playgroud)

在matlab中,我可以简单地使用:

[f,x] = ecdf(X);
Run Code Online (Sandbox Code Playgroud)

在点x获得cdf(f).是它的文档.
在python中它更复杂:

import numpy as np
from scipy.stats import norm
import matplotlib.pyplot as plt
from statsmodels.distributions.empirical_distribution import ECDF

alpha = 1.5
n = 1000
X = []
for delta …
Run Code Online (Sandbox Code Playgroud)

python statistics matlab numpy matplotlib

2
推荐指数
1
解决办法
3173
查看次数

Python:如何在给定数字数组的情况下绘制 cdf 函数

我在 Windows 上工作。我只想输入一个数组并获取该数组的cdf。

python

1
推荐指数
1
解决办法
8718
查看次数