> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wherobots.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Getis-Ord Python Module

## g\_local

Calculates the Getis-Ord Gi or Gi\* statistic on the `x` column of the dataframe.

```python theme={"system"}
def g_local(dataframe: DataFrame, x: str, weights: str, permutations: int, star: bool, island_weight: float) -> DataFrame
```

### Additional Information

For more information on the Getis-Ord functions see: "Getis-Ord functions. From the 1992 paper by Getis & Ord.
Getis, A., & Ord, J. K. (1992). The analysis of spatial association by use of distance statistics.
Geographical Analysis, 24(3), 189-206. [https://doi.org/10.1111/j.1538-4632.1992.tb00261.x](https://doi.org/10.1111/j.1538-4632.1992.tb00261.x)

## Parameters

<ParamField path="dataframe" type="DataFrame" required>
  the dataframe to perform the G statistic on
</ParamField>

<ParamField path="x" type="str" required>
  The column name we want to perform hotspot analysis on
</ParamField>

<ParamField path="weights" type="str" required>
  The column name containing the neighbors array. The array should be of type `Array<Struct<value: T, neighbor: U>>`, where each element is a Struct with two fields:

  1. `value`: The weight for the neighbor (e.g., spatial weight).
  2. `neighbor`: A Struct containing the data of the neighboring row (schema must match the parent DataFrame, excluding the `weights` column itself).
     You can use `wherobots.weighing.add_distance_band_column` to generate this column in the required format.
</ParamField>

<ParamField path="permutations" type="int" required>
  Not used. Permutation tests are not supported yet. The number of permutations to use for the
</ParamField>

<ParamField path="star" type="bool" required>
  Specifies whether to calculate the Getis-Ord Gi\* statistic.

  * `true`: Calculates the Gi\* statistic, which includes the focal observation (the row itself) in the local sum. When `star=true`, the `weights` array must include the focal observation as one of its own neighbors.
  * `false`: (Default) Calculates the G-statistic, which excludes the focal observation.
</ParamField>

<ParamField path="island_weight" type="float" required>
  Not used. The weight for the simulated neighbor used for records without a neighbor in perm tests

  Permutation testing is **not yet implemented**. Consequently, any parameter related to `island_weight` currently has no effect.
</ParamField>

## Returns

A DataFrame with the original columns plus the following additional columns:

<ResponseField name="G" type="Double">
  The calculated local G or G\* statistic.
</ResponseField>

<ResponseField name="E[G]" type="Double">
  The expected value of G/G\* under spatial randomness.
</ResponseField>

<ResponseField name="V[G]" type="Double">
  The variance of G/G\* under spatial randomness.
</ResponseField>

<ResponseField name="Z" type="Double">
  The Z-score (standard score) for the statistic. Statistical significance (Z and P columns) is calculated using Z-scores derived from the theoretical expected value and variance under spatial randomness.
</ResponseField>

<ResponseField name="P" type="Double">
  The p-value (significance) derived from the Z-score. Statistical significance (Z and P columns) is calculated using Z-scores derived from the theoretical expected value and variance under spatial randomness.
</ResponseField>

## Usage Examples

```python theme={"system"}
from getis_ord import *

# Example usage of g_local
result = g_local(dataframe=example_value, x=example_value, weights=example_value)
```
