用于大切片的小包装。

slicer的Python项目详细描述


切片机

LicensePython VersionPackage VersionBuild StatusCoverageMaintenance

(等额贡献)塞缪尔·詹金斯和哈莎·诺里和斯科特·伦德伯格

slicer包装类似张量的对象,并通过__getitem__提供统一的切片接口。在


它支持多种数据类型,包括:

numpy| pandas| scipy| pytorch| list| tuple| dict

并在其对象上启用升级的切片功能:

# Handles non-integer indexes for slicing.S(df)[:,["Age","Income"]]# Handles nested slicing in one call.S(nested_list)[...,:5]

它还可以同时切片多个对象:

^{pr2}$

此包有0依赖项。一个也没有。在

安装

Python 3.6+| Linux、Mac、Windows

pip install slicer

入门

匿名基本切片:

fromslicerimportSlicerasSli=[[1,2,3],[4,5,6]]S(li)[:,0:2].o# [[1, 2], [4, 5]]di={'x':[1,2,3],'y':[4,5,6]}S(di)[:,0:2].o# {'x': [1, 2], 'y': [4, 5]}

基本命名切片:

importpandasaspdimportnumpyasnpdf=pd.DataFrame({'A':[1,3],'B':[2,4]})ar=np.array([[5,6],[7,8]])sliced=S(first=df,second=ar)[0,:]sliced.first# A    1# B    2# Name: 0, dtype: int64sliced.second# array([5, 6])

实例:

fromslicerimportSlicerasSfromslicerimportAliasasAdata=[[1,2],[3,4]]values=[[5,6],[7,8]]identifiers=["id1","id1"]instance_names=["r1","r2"]feature_names=["f1","f2"]full_name="A"slicer=S(data=data,values=values,# Aliases are objects that also function as slicing keys.# A(obj, dim) where dim informs what dimension it can be sliced on.identifiers=A(identifiers,0),instance_names=A(instance_names,0),feature_names=A(feature_names,1),full_name=full_name,)sliced=slicer[:,1]# Tensor-like parallel slicing on all objectsassertsliced.data==[2,4]assertsliced.instance_names==["r1","r2"]assertsliced.feature_names=="f2"assertsliced.values==[6,8]sliced=slicer["r1","f2"]# Example use of aliasingassertsliced.data==2assertsliced.feature_names=="f2"assertsliced.instance_names=="r1"assertsliced.values==6

联系我们

在GitHub上提出问题,或通过interpret@microsoft.com与我们联系

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中的开源字典组件   即使在成功执行删除查询之后,java更新的列表也不会显示在jsp页面中   java Apache:无法启动上下文路径/网站上的失败应用程序   java验证CSV中的特定列   对于具有专用内存的java应用程序,最小堆大小低于最大堆大小有意义吗?   java将数组中的值转换为多维数组   java在给定程序中,垃圾收集器在对象被取消引用之前正在运行。。。使用jre 7(32位)   java在运行时动态刷新文件夹   eclipse如何解决“java.net.BindException:地址已在使用:JVM_Bind”错误?   Java数组与数组   每次任务完成任务时,Java多线程都会安排任务   java部分编译时使用maven编织第三方jar   java Dokku单一回购中的多个应用程序   用apachevelocity生成javac/C++语言文件   java如何使用spring应用程序上下文中的属性文件实例化列表   java访问智能卡文件结构   具有GlobalMethodSecurity的java自定义UserDetailService循环引用   java如何集成Spring和JSF