全新 Python 数据分析框架 DaPy 带给你丝滑般的数据之旅 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
JacksonWoo
V2EX    Python

全新 Python 数据分析框架 DaPy 带给你丝滑般的数据之旅

  •  1
     
  •   JacksonWoo 2019-09-25 11:36:48 +08:00 4473 次点击
    这是一个创建于 2213 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的一个项目迫切地需要一个 Python 语言的数据处理和分析框架。虽然我们已经有 Sqlite3、Pandas 等框架,但还没有一款框架能做到:

    ( 1 )轻松地进行 ORM 操作和数据分析
    ( 2 )友好的多表、跨表操作
    ( 3 )便于维护的链式接口设计
    ( 4 )对于许多数据处理功能的高层封装
    ( 5 )简单易用的 API

    因此,为该项目开发了一款全新的框架DaPy,并在我之后的许多科研工作和工程代码开发中不断完善了该框架。几个月前,我的搭档在进行 peer code review 的时候,发现 DaPy 框架实现的代码非常的漂亮,易于理解和维护。于是他建议我将此项目在网络上推广出来,以便让更多的人有机会使用这个框架。目前,认识的许多同事已经在他们的科研项目中使用 DaPy。 这篇文章有对 DaPy 特性更为具体的介绍。

    最后,如果你觉得 DaPy 不错的话,去 Github 点个 Star 吧!!!

    也很欢迎来提 Issue 一起和我们讨论哦!!!

    14 条回复    2019-09-27 15:29:37 +08:00
    XIVN1987
        1
    XIVN1987  
       2019-09-25 12:25:55 +08:00
    一个类似 Pandas 的库?

    能不能详细地、用示例说明下它解决了 Pandas 的哪些问题和不足??
    上面说的优点太笼统,没有直观感受,说服力不足啊
    dezhou
        2
    dezhou  
       2019-09-25 12:26:47 +08:00 via Android
    @XIVN1987 pandas 就挺好
    JacksonWoo
        3
    JacksonWoo  
    OP
       2019-09-25 12:26:59 +08:00
    谢谢你的建议,@XIVN1987 可以参考一下这篇博客: https://juejin.im/post/5d60d051e51d4561d106cc02
    JacksonWoo
        4
    JacksonWoo  
    OP
       2019-09-25 12:28:15 +08:00   1
    @dezhou Pandas 确实不错,但对于很多在高校的统计研究人员来说,他们相比较于 R 或者 Matlab 来说,易用性确实差一些。Pandas 是适合程序员使用数据分析框架。
    renmu123
        5
    renmu123  
       2019-09-25 16:21:40 +08:00
    现在有完整的文档吗?想用来试试看
    CallMeReznov
        6
    CallMeReznov  
       2019-09-25 17:25:01 +08:00
    看不懂,也不敢说话,先点个赞.
    TimePPT
        7
    TimePPT  
    PRO
       2019-09-25 18:04:02 +08:00
    看着是好东西,虽然仍然会用 Pandas,但还是要支持下!
    JacksonWoo
        8
    JacksonWoo  
    OP
       2019-09-25 21:45:05 +08:00
    @renmu123 目前没有完整的文档,但是可以通过 help 来查看非常丰富的帮助信息。我的微信号是这个:Wxsjswxs,有任何使用中的疑惑或者建议欢迎骚扰!
    lxy42
        9
    lxy42  
       2019-09-25 22:08:04 +08:00 via Android
    简单看了一下代码,似乎完全是纯 Python 实现的,几乎不依赖第三方库。
    为什么不基于 pandas 或者 numpy 封装出简单易用的 API 呢?而且矩阵计算的性能也要更好。
    dezhou
        10
    dezhou  
       2019-09-25 22:16:44 +08:00 via Android
    @lxy42 比过 numpy 和 nd4j 吗?我觉得 java 更快
    JacksonWoo
        11
    JacksonWoo  
    OP
       2019-09-26 13:14:11 +08:00
    @lxy42 在 DaPy 数据处理的结构中,最重要的是 SeriesSet 数据结构(类似于 DataFrame )。它的实现是由一系列的一维数据结构 Series 存在字典中实现的,而 Series 则是 Python 内置结构 list 的派生类。

    我没有选择基于 numpy.array 做封装的原因是:1. numpy.array 往往对数据格式有很强的要求,在处理文本数据的时候会比较低; 2. Numpy.array 在初始化新对象的时候的速度不一定比 list 快。Numpy.array 只在一种情况下是高效的,那就是矩阵运算。

    因此,DaPy 在类似于 DataFrame 的通用数据框架中是使用 list 进行了封装;而在机器学习模块中为所有模型设置“engine”参数,可以选择 Numpy 矩阵作为运算引擎,以加速在模型训练时的速度。
    JacksonWoo
        12
    JacksonWoo  
    OP
       2019-09-26 13:19:49 +08:00
    @dezhou 在矩阵运算的性能上,Numpy 无疑是最快的,毕竟她底层调用的是 C 的科学运算库,DaPy 自然比不过的。但是,在数据预处理、特征工程等阶段的操作,并不能一直使用矩阵运算的。DaPy 的设计初衷,是让你轻松地通过调用简单的 API 完成一系列的数据预处理和特征工程操作。DaPy 不想推翻 Numpy 创造一个新的计算引擎,而是想减轻数据科学工作者的工作负担。
    sadscv
        13
    sadscv  
       2019-09-27 00:26:06 +08:00 via iPhone
    请问数据源支持 sql server 吗?在 readme 中提到支持 mysql server 是否为笔误?
    JacksonWoo
        14
    JacksonWoo  
    OP
       2019-09-27 15:29:37 +08:00
    @sadscv 目前支持的是 MySQL 数据库,因为我没有 sql server 的服务器没法做调试,所以暂时还没有支持 sql server
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5215 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 07:22 PVG 15:22 LAX 00:22 JFK 03:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86