xanthu
V2EX  ›  问与答

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

  •  
  •   xanthu · Aug 26, 2018 · 2075 views
    This topic created in 2842 days ago, the information mentioned may be changed or developed.

    [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 replies    2018-08-26 20:42:57 +08:00
    daweii
        1
    daweii  
       Aug 26, 2018 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 的位置上。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5515 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 08:38 · PVG 16:38 · LAX 01:38 · JFK 04:38
    ♥ Do have faith in what you're doing.