示例:
row_number |id |firstname | middlename | lastname |
0 | 1 | John | NULL | Doe |
1 | 1 | John | Jacob | Doe |
2 | 2 | Alison | Marie | Smith |
3 | 2 | NULL | Marie | Smith |
4 | 2 | Alison | Marie | Smith |
我正在尝试找出如何按id分组,然后为每个groupby抓取空值最少的行,删除任何包含空值最少的额外行就可以了(例如,删除第4行,因为它将第2行与id=2的空值最少的行相关联)
这个例子的答案是第1行和第2行
最好是ansisql,但是我可以翻译其他语言(比如带pandas的python),如果你能想到一种方法的话
编辑: 增加了一行的情况下打破领带。你知道吗
哦,您需要的是
null
值最少的行。我建议:这是ANSI标准SQL。你知道吗
如果你想这样做,你可以这样做:
输出:
对于断绳器:
添加行:
然后使用
groupby
、transform
和idxmin
:输出:
相关问题 更多 >
编程相关推荐