V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xanthu
V2EX  ›  问与答

pandas 新手,问个简单的问题..

  •  
  •   xanthu · 2018-08-26 18:04:47 +08:00 · 1413 次点击
    这是一个创建于 2263 天前的主题,其中的信息可能已经有所发展或是发生改变。

    [a b c ] => [a b c ]

    [1 2 3 ] => [1 2 3 ]

    [1 None None] => [1 2 3 ]

    [2 4 5 ] => [2 4 5 ]

    因为 a 中 1 的值相同,所以它两的空数数据被有数据的行填充了

    如果除了 a,其他字段存在不同的值按字数多的来保存

    这样用 pandas 如何实现?

    1 条回复    2018-08-26 20:42:57 +08:00
    daweii
        1
    daweii  
       2018-08-26 20:42:57 +08:00 via iPhone   ❤️ 1
    楼主语文水平值得提高,问题描述相当费解。

    如果我没理解错的话有 3 列数据,楼主想补全 null 的数据。

    我用手机回答的,说一下思路。
    假设你有 a b 两列,a 肯定有数据,b 有可能有 null。你想补全 b,同一个 a 对应多个 b 的时候补全那个长度最长的。

    那么你可以先创建一个列 len_b,里面放 b 的长度。然后把 len_b 里的 0 置换为 9999。
    然后对数据根据 a, len_b 升序排序。这个时候 null 数据的上面那一行就是 b 长度最长的那一行。
    最后 fillna,method 选择 ffill 就行了。ffill 会把上一行的数据补全到这一行的 Null 的位置上。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1693 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:44 · PVG 00:44 · LAX 08:44 · JFK 11:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.