繁体   English   中英

graphlab创建sframe如何获取SArray中位数

[英]graphlab create sframe how to get SArray median

我正在研究graphlab创建

data=graphlab.SFrame.read_csv('test.csv')

我试图获得列之一的中位数

data_train.fillna(('Credit_History',data_train['Credit_History'].median()))

但我有错误

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-247-50ed3eb09dcc> in <module>()
----> 1 data_train.fillna(('Credit_History',data_train['Credit_History'].median()))

AttributeError: 'SArray' object has no attribute 'median'

尽管有人知道如何解决此问题,但data.show()将显示此列的中位数?

我想我了解您的尝试。 Sframe没有默认的中位数函数。 我会像这样即兴创作:

import numpy as np
data_train.fillna('Credit_History', np.median(data_train['Credit_History']))

SArray没有中值方法。 获得中位数的最佳方法是通过sketch_summary方法,然后进行quantile 有关草图摘要的更多信息,请参见

https://turi.com/products/create/docs/generated/graphlab.Sketch.html

import numpy as np
import graphlab as gl

sf = gl.SFrame(np.random.rand(100))

sketch = sf['X1'].sketch_summary()
median = sketch.quantile(0.5)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM