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

2018-08-26 18:04:47 +08:00
 xanthu

[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 如何实现?

1422 次点击
所在节点    问与答
1 条回复
daweii
2018-08-26 20:42:57 +08:00
楼主语文水平值得提高,问题描述相当费解。

如果我没理解错的话有 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 的位置上。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/483368

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX