返回主页

API文档

详细的 everything2everything 库API参考文档,包括核心类和函数的使用方法。

TypeConverter 类

TypeConverter 是库的核心类,提供了第三方库类型之间的互转功能。

主要方法

  • convert(obj, target_type) - 通用类型转换方法
  • numpy_to_xarray(obj) - numpy 转换为 xarray
  • xarray_to_numpy(obj) - xarray 转换为 numpy
  • torch_to_numpy(obj) - torch 转换为 numpy
  • numpy_to_torch(obj) - numpy 转换为 torch
  • jax_to_numpy(obj) - jax 转换为 numpy
  • numpy_to_jax(obj) - numpy 转换为 jax
  • tensorflow_to_numpy(obj) - tensorflow 转换为 numpy
  • numpy_to_tensorflow(obj) - numpy 转换为 tensorflow
  • pandas_to_numpy(obj) - pandas 转换为 numpy
  • numpy_to_pandas(obj) - numpy 转换为 pandas

使用示例

from everything2everything import TypeConverter
import numpy as np
import torch

# 使用通用转换方法
arr = np.array([1, 2, 3])
tensor = TypeConverter.convert(arr, 'torch')
print(type(tensor))  # 输出: <class 'torch.Tensor'>

# 使用专用转换方法
tensor = torch.tensor([4, 5, 6])
arr = TypeConverter.torch_to_numpy(tensor)
print(type(arr))  # 输出: <class 'numpy.ndarray'>

e2e_* 函数

库提供了一系列与Python内置函数兼容的转换函数,支持所有类型的转换。

可用函数

  • e2e_list(obj) - 转换为列表
  • e2e_str(obj) - 转换为字符串
  • e2e_int(obj) - 转换为整数
  • e2e_float(obj) - 转换为浮点数
  • e2e_dict(obj) - 转换为字典
  • e2e_set(obj) - 转换为集合
  • e2e_tuple(obj) - 转换为元组

使用示例

from everything2everything import e2e_list, e2e_str, e2e_int
import numpy as np

# 基本类型转换
e2e_list(123)  # 输出: [123]
e2e_str(None)  # 输出: ""
e2e_int("123")  # 输出: 123

# 第三方库类型转换
arr = np.array([1, 2, 3])
e2e_list(arr)  # 输出: [1, 2, 3]
e2e_str(arr)  # 输出: "[1, 2, 3]"

标准类型转换

支持所有Python标准数据类型之间的转换,包括:

  • list
  • str
  • int
  • float
  • dict
  • set
  • tuple

特殊处理

  • None 值 - 转换为对应类型的空值(如 []、""、0)
  • 布尔值 - 转换为对应类型的真实值
  • 集合类型 - 支持不同集合类型之间的转换

第三方库类型转换

支持主流科学计算库类型之间的互转,包括:

  • numpy
  • cupy
  • scipy
  • pandas
  • torch
  • xarray
  • jax
  • tensorflow

自动依赖检测

库会自动检测第三方库是否可用,当库不可用时会给出明确的错误提示,不会导致程序崩溃。

GPU支持

对于支持GPU的库(如torch、cupy),会自动处理设备管理,确保转换过程的正确性。

完整API文档

以下是使用 pydoc 生成的完整API文档,包含所有类、方法和函数的详细说明:

查看完整API文档