mapclassify.classify¶
- mapclassify.classify(y, scheme, k=5, pct=[1, 10, 50, 90, 99, 100], pct_sampled=0.1, truncate=True, hinge=1.5, multiples=[-2, -1, 1, 2], mindiff=0, initial=100, bins=None, lowest=None, anchor=False)[source]¶
Classify your data with
mapclassify.classify
. Input parameters are dependent on classifier used.- Parameters:
- y
numpy.array
\((n,1)\), values to classify.
- scheme
str
pysal.mapclassify
classification scheme.- k
int
(default
5) The number of classes.
- pct
numpy.array
(default
[1, 10, 50, 90, 99, 100]) Percentiles used for classification with
percentiles
.- pct_sampled
float
default
(0.10) The percentage of n that should form the sample (
JenksCaspallSampled
,FisherJenksSampled
) Ifpct
is specified such thatn*pct > 1000
, thenpct=1000
.- truncatebool (
default
True
) Truncate
pct_sampled
in cases wherepct * n > 1000
.- hinge
float
(default
1.5) Multiplier for IQR when
BoxPlot
classifier used.- multiples
numpy.array
(default
[-2,-1,1,2]) The multiples of the standard deviation to add/subtract from the sample mean to define the bins using
std_mean
.- mindiff
float
(default
is
0) The minimum difference between class breaks if using
maximum_breaks
classifier.- initial
int
(default
100) Number of initial solutions to generate or number of runs when using
natural_breaks
ormax_p_classifier
. Setting initial to0
will result in the quickest calculation of bins.- bins
numpy.array
(default
None
) \((k,1)\), upper bounds of classes (have to be monotically increasing) if using
user_defined
classifier. Default isNone
. For example:[20, max(y)]
.- lowest
float
(default
None
) Scalar minimum value of lowest class. Default is to set the minimum to
-inf
ify.min()
> first upper bound (which will override the default), otherwise minimum is set toy.min()
.- anchorbool (
default
False
) Anchor upper bound of one class to the sample mean.
- y
- Returns:
- classifier
mapclassify.classifiers.MapClassifier
Object containing bin ids for each observation (
.yb
), upper bounds of each class (.bins
), number of classes (.k
) and number of observations falling in each class (.counts
).
- classifier
Notes
Supported classifiers include:
quantiles
boxplot
equalinterval
fisherjenks
fisherjenkssampled
headtailbreaks
jenkscaspall
jenkscaspallsampled
jenks_caspallforced
maxp
maximumbreaks
naturalbreaks
percentiles
prettybreaks
stdmean
userdefined
Examples
>>> import libpysal >>> import geopandas >>> from mapclassify import classify
Load example data.
>>> link_to_data = libpysal.examples.get_path("columbus.shp") >>> gdf = geopandas.read_file(link_to_data) >>> x = gdf['HOVAL'].values
Classify values by quantiles.
>>> quantiles = classify(x, "quantiles")
Classify values by box_plot and set hinge to
2
.>>> box_plot = classify(x, 'box_plot', hinge=2) >>> box_plot BoxPlot Interval Count ---------------------- ( -inf, -9.50] | 0 (-9.50, 25.70] | 13 (25.70, 33.50] | 12 (33.50, 43.30] | 12 (43.30, 78.50] | 9 (78.50, 96.40] | 3