T-摘要数据结构

tdigest的Python项目详细描述


#t对流式或分布式数据进行有效的百分比估计
[PYPI版本](https://badge.fury.io/py/tdigest.svg)(https://badge.fury.io/py/tdigest)
[![构建状态](https://travis-ci.org/camdavidsonpilon/tdiest.svg?branch=master)(https://travis ci.org/camdavidsonpilon/t digest)




这是ted dunning的[t-digest]数据结构的python实现(https://github.com/tdunning/t-digest)。t-digest数据结构是围绕计算来自流数据或分布式数据的精确估计而设计的。这些估计值是百分位数、分位数、修剪平均数等。可以添加两个T-摘要,使数据结构成为Map Reduce设置的理想选择,并且可以序列化为远小于10KB(而不是存储整个数据列表)。

###安装
*tdiest*与python 2和python 3都兼容。


``````````


``````

``
`
````
`>
`>
`>
`>
`>
`````
`
pip install tdigest
pip install tdigest
<
<
<
pip install tdigest
````````````
``````````
/>````````````更新(random())

print(digest.percentile(15))约0.15,因为0.15是15制服的百分位数(0,1)分发
````

br/>```
sum-digest=摘要+另一个摘要
sum-digest.percentile(30)#约0.3
`````

``````````用json对摘要进行dict或用json对摘要进行序列化




或者只能得到质心列表使用“centroids_to_list()”.
```
digest.centroids_to_list()
````

>类似地,可以使用“update_from_dict()”还原摘要值的python dict。例如,在Python字典中合并任何现有的形体。例如,从Python字典中进行一个新的摘要和恢复值。< BR/>‘BR/>摘要= TigestSe()。UpDeDeTo从OxDICT({ k):25,‘delta’:0.01’,‘质心’:[ {’c':1,m’:1 },{'c':1,m′:2 },{'c':1,“m”:3.0})
`````


>k和delta值是可选的,或者您只能提供一个质心列表,其中的“update-ucru-centroids”来自“update-ucru-centroids`。
````
digest=tdidest()
digest.update-ucroids([{'c':1.0,'m':1.0,'m':1.0,{'c':1.0,{'c':1.0,'m':1.0,{'c':1.0,{'c':1.0,{'m''c':1.0,{'m':1.0,/>如果您想使用其他工具(如json)序列化,可以首先转换为_dict()。
```
json.dumps(digest.to_dict())
```

定制一个定制的编码器函数作为默认值提供给标准的JSON模块。
````
def encoder(digest-obj)defecoder(digest-obj):
returndigest-obj.to-dict()
``````
>然后将编码器函数作为默认参数传递。
````>json.dumps(digest,default=encoder)
`````




<
<<
<



-`更新(x,w=1`:使用值“x”和权重“w”更新tdiest。
-`batch-update(x,w=1)`:使用数组“x”和权重“w”中的值更新tdiest。
-`compress()`:对底层数据结构执行压缩,这将缩小它的内存占用,而不会损害准确性。添加多个值后表现良好。
-`percentile(p)`:返回第`p`个百分点。示例:“p=50”是中值。
-`cdf(x)`:返回值“x”所在的cdf。
-`修剪平均值(p1,p2)`:返回分别在“p1”和“p2”百分位数的下方和上方输出值。
-`to_dict()`:返回Tdigest和内部质心值的Python字典。
-`update_from_dict(dict_values)`:从序列化字典值更新到Tdigest对象。
-`centroid s_to_list()`:返回Tdigest对象的内部质心值的Python列表。
-`update_centroids_from_list(list_values)`:从python列表中更新质心。











欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Android应用程序中在活动之间传递数据的java   Maven的哪个版本与Java 6兼容?   java@jsonview在未知属性上失败   Java写入文件不可恢复的sumbols   java为什么内部类使私有方法可访问?   我们可以从JAVA调用SpringRemotingWeb服务吗。网   java抽象Servlet此方法是线程安全的吗?   java如何处理会话。你有什么奇怪的行为吗?   java JUnit错误如何修复?   通过合并对象或聚合对java java8流进行分组   重定向标准输出禁用标准错误自动刷新(Java)   对于每个模板,Java与C++的等价物是什么?   java SSLsocket连接错误   JAVAMacOS上的lang.UnsupportedClassVersionError   java如何获取对象对象层的值?   java画布和位图变量设置为null   java如何避免在这种“访问者”模式中使用instanceof?   jasper报告如何从JSP或Java代码在JasperReport中传递参数值?