API文档
详细的 everything2everything 库API参考文档,包括核心类和函数的使用方法。
TypeConverter 类
TypeConverter 是库的核心类,提供了第三方库类型之间的互转功能。
主要方法
convert(obj, target_type)- 通用类型转换方法numpy_to_xarray(obj)- numpy 转换为 xarrayxarray_to_numpy(obj)- xarray 转换为 numpytorch_to_numpy(obj)- torch 转换为 numpynumpy_to_torch(obj)- numpy 转换为 torchjax_to_numpy(obj)- jax 转换为 numpynumpy_to_jax(obj)- numpy 转换为 jaxtensorflow_to_numpy(obj)- tensorflow 转换为 numpynumpy_to_tensorflow(obj)- numpy 转换为 tensorflowpandas_to_numpy(obj)- pandas 转换为 numpynumpy_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文档