> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentación sobre el formato Npy

# Npy

| Entrada | Salida | Alias |
| ------- | ------ | ----- |
| ✔       | ✔      |       |

<div id="description">
  ## Descripción
</div>

El formato `Npy` está diseñado para cargar un Array de NumPy desde un archivo `.npy` en ClickHouse.
El formato de archivo de NumPy es un formato binario que se utiliza para almacenar Arrays de datos numéricos de forma eficiente.
Durante la importación, ClickHouse trata la dimensión de nivel superior como un Array de filas con una sola columna.

La siguiente tabla muestra los tipos de datos Npy compatibles y el tipo correspondiente en ClickHouse:

<div id="data_types-matching">
  ## Correspondencia entre tipos de datos
</div>

| Tipo de dato Npy (`INSERT`) | Tipo de dato de ClickHouse                          | Tipo de dato Npy (`SELECT`) |
| --------------------------- | --------------------------------------------------- | --------------------------- |
| `i1`                        | [Int8](/es/reference/data-types/int-uint)           | `i1`                        |
| `i2`                        | [Int16](/es/reference/data-types/int-uint)          | `i2`                        |
| `i4`                        | [Int32](/es/reference/data-types/int-uint)          | `i4`                        |
| `i8`                        | [Int64](/es/reference/data-types/int-uint)          | `i8`                        |
| `u1`, `b1`                  | [UInt8](/es/reference/data-types/int-uint)          | `u1`                        |
| `u2`                        | [UInt16](/es/reference/data-types/int-uint)         | `u2`                        |
| `u4`                        | [UInt32](/es/reference/data-types/int-uint)         | `u4`                        |
| `u8`                        | [UInt64](/es/reference/data-types/int-uint)         | `u8`                        |
| `f2`, `f4`                  | [Float32](/es/reference/data-types/float)           | `f4`                        |
| `f8`                        | [Float64](/es/reference/data-types/float)           | `f8`                        |
| `S`, `U`                    | [String](/es/reference/data-types/string)           | `S`                         |
|                             | [FixedString](/es/reference/data-types/fixedstring) | `S`                         |

<div id="example-usage">
  ## Ejemplo de uso
</div>

<div id="saving-an-array-in-npy-format-using-python">
  ### Guardar un array en formato .npy con Python
</div>

```Python theme={null}
import numpy as np
arr = np.array([[[1],[2],[3]],[[4],[5],[6]]])
np.save('example_array.npy', arr)
```

<div id="reading-a-numpy-file-in-clickhouse">
  ### Leer un archivo NumPy en ClickHouse
</div>

```sql title="Query" theme={null}
SELECT *
FROM file('example_array.npy', Npy)
```

```response title="Response" theme={null}
┌─array─────────┐
│ [[1],[2],[3]] │
│ [[4],[5],[6]] │
└───────────────┘
```

<div id="selecting-data">
  ### Selección de datos
</div>

Puede seleccionar datos de una tabla de ClickHouse y guardarlos en un archivo en formato Npy con el siguiente comando de clickhouse-client:

```bash theme={null}
$ clickhouse-client --query="SELECT {column} FROM {some_table} FORMAT Npy" > {filename.npy}
```

<div id="format-settings">
  ## Configuración del formato
</div>
