Other articles


  1. 合并多个 pd.DataFrame 的常规方法

    在使用 pandas 时经常会碰到一个需求,即合并多个 DataFrame。比较遗憾的是,按现在 pandas 的设计,并不能在不产生新 DataFrame 对象的情况下把数据 append 到一个现有 的 df 中,因此如何相对有效地合并多个 df 一直是困扰我的问题。

    按最通常的想法,是直接写一个循环:

    for df_i in dfs:
        pd.concat(df, df_i)
    

    显然这样会额外地创建很多个临时的 df,虽然能够工作,但不是好的工作方法。

    在 StackOverflow 上有人给出了一个办法,我认为相对还是比较好的,就是把所有要合并 的 df 放到一个列表中,然后用 concat 函数一次性合并:

    df = pd.concat(dfs)
    

    这样避免了产生中间临时 …

    read more
  2. 用 LaTeX 写大论文的一些经验

    几个月前写博士毕业论文的时候,起初准备用 Word 来写,因为虽然我算是 LaTeX 的老用 户,但其实遇到问题时并没有什么解决的经验。相比之下,用大部分人使用的 Word 会更 加稳妥。不过在 Word 中写了几页就决定还是用 LaTeX 了,主要有两方面的原因:

    1. 论文中存在大量公式,Word 虽然自 2007 版本起就引入了更好的公式支持,允许按部 分 LaTeX 的语法输入,并且有不错的显示效果。但比较遗憾的是,即使是目前最新版 本的 Word 2016,在存在行内公式时,段落内的行间距都会受到影响。这一点,如果一 直是使用 Word 的人并不一定会注意到,但一旦注意到了,而且确定地知道使用 LaTeX 可以克服时,就会觉得这个缺点难以忍受了。
    2. 论文各个章节以及章节内部存在大量的交叉引用,图片、公式 …
    read more
  3. 方便的个人命令行小助理

    最近发现有一些经常重复性做的工作,包括:

    • 打开命令行查看本机在局域网的 IP
    • 用 Inkscape 命令行转换矢量图格式
    • 调用已写好的某脚本快速查看关注股票的价格

    等等。这些工作往往都有确切的实现办法,但往往用起来相对没那么简便,而且输出也不一定足够精简,比如输出局域网IP功能就只输出一个IP,而且最好命令就是一条非常简单的ip

    想了一下,实现一个这样需求很简单的小工具还是比较容易的,我想的解决方案是这样的:第一步,写一个 Python 脚本,可以接受命令行参数来实现不同的功能;第二步,让这个脚本可以命令行运行。

    需求想明白了,实现就简单了。

    第一步,先编写 tools.py,以输出 IP 为例:

    import sys
    args = sys.argv
    
    def main():
        try:
            if args[1] == 'ip':
                get_ip()
        except:
            pass
    
    def …
    read more
  4. 关闭 Win10 的自动更新(和重启!)

    Win10在默认情况下是打开自动更新的,这本身对多数人来说应该是好事,但有一个非常非常恶心人的设定是同时也会自动重启。重启前甚至还无视其它程序的状态,不管有没有正在修改的文件没有保存,说重启就重启,这是非常糟糕的设计。

    所幸的是在专业版的 Win10 中还可以把这个选项给关闭(据说家庭版是没法修改的,未确认),但不是通过系统带的那个「设置」,而是需要用组策略编辑器来修改,步骤如下:

    1. 按 Win+R 打开运行窗口,输入 gpedit.msc,回车,打开组策略编辑器。
    2. 在左侧栏中依次找到「计算机配置」-「管理模板」-「Windows组件」-「Windows更新」,点击后在右侧双击打开「配置自动更新」,改为「已启用」,左下改为「2-通知下载并通知安装」。

    这样设置后,每次有更新的时候会提示,点击了下载之后才会安装,虽然略微更麻烦一点点,但把那种不知道什么时候会重启的不确定性完全消除了。

    read more

Page 1 / 8 »

links

social