df-drills pandas · Polars · DuckDB SQL · DuckDB Relational 题目列表 登录

按关键列删除

简单 05-null 缺失值 Nonefilterdropna

删除 orders 表中 customer_id 或 channel 为 null 的行,其余行原样保留。

  • 只看 customer_id 和 channel 两列;其他列(如 status、order_ts)为 null 的行不受影响,要保留。
  • 空字符串 "" 不是 null。
  • 所有行都被删掉时,输出 0 行(列名照常)。

输入

  • orders(order_id, customer_id, order_ts, status, channel)

输出

列为 order_id, customer_id, order_ts, status, channel,行顺序不限。

输入表 (case base,共 3 个 case:base、edge、all_dropped)

orders shop/orders
#order_idint64customer_idint64order_tsdatetimestatusstringchannelstring
1 1001 39 2026-01-01 19:38:00 paid app
2 1002 16 2026-01-17 14:07:00 paid app
3 1003 4 2026-01-08 15:40:20 cancelled web
4 1004 2 2026-05-23 10:48:58 paid null
5 1005 12 2026-06-22 11:07:22 paid store
6 1006 17 2026-08-15 05:15:25 paid web
7 1007 9 2026-06-11 01:00:32 refunded store
8 1008 45 2026-09-19 20:47:10 paid web
9 1009 2 2025-10-05 04:53:38 paid app
10 1010 4 2026-02-19 01:39:54 paid app
11 1011 28 2026-03-05 03:04:45 refunded store
12 1012 2 2026-08-01 07:09:17 paid web
13 1013 26 2026-01-22 03:48:14 refunded store
14 1014 2 2026-02-09 01:41:41 paid app
15 1015 5 2026-08-03 19:49:04 refunded web
16 1016 26 2026-02-16 00:43:43 refunded app
17 1017 9 2025-12-06 04:48:57 pending app
18 1018 999 2026-05-19 12:13:43 paid store
19 1019 26 2026-02-05 15:02:26 paid store
20 1020 44 2025-11-24 11:19:00 cancelled web
显示前 20 行,共 200 行

期望输出 (case base,行顺序不限)

#order_idInt64customer_idInt64order_tsDatetime(time_unit='us', time_zone=None)statusStringchannelString
1 1001 39 2026-01-01 19:38:00 paid app
2 1002 16 2026-01-17 14:07:00 paid app
3 1003 4 2026-01-08 15:40:20 cancelled web
4 1005 12 2026-06-22 11:07:22 paid store
5 1006 17 2026-08-15 05:15:25 paid web
6 1007 9 2026-06-11 01:00:32 refunded store
7 1008 45 2026-09-19 20:47:10 paid web
8 1009 2 2025-10-05 04:53:38 paid app
9 1010 4 2026-02-19 01:39:54 paid app
10 1011 28 2026-03-05 03:04:45 refunded store
11 1012 2 2026-08-01 07:09:17 paid web
12 1013 26 2026-01-22 03:48:14 refunded store
13 1014 2 2026-02-09 01:41:41 paid app
14 1015 5 2026-08-03 19:49:04 refunded web
15 1016 26 2026-02-16 00:43:43 refunded app
16 1017 9 2025-12-06 04:48:57 pending app
17 1018 999 2026-05-19 12:13:43 paid store
18 1019 26 2026-02-05 15:02:26 paid store
19 1020 44 2025-11-24 11:19:00 cancelled web
20 1021 18 2026-06-29 17:32:41 refunded app
21 1022 1 2026-06-23 06:27:44 cancelled app
22 1023 46 2026-07-24 02:09:45 refunded web
23 1025 34 2026-07-05 07:41:49 cancelled web
24 1026 18 2025-11-24 08:15:00 paid web
25 1027 42 2026-05-22 08:52:21 paid web
26 1028 36 2026-01-12 18:12:02 paid app
27 1029 18 2026-03-03 14:01:10 paid web
28 1030 5 2026-06-12 16:22:09 paid store
29 1031 5 2026-02-14 10:30:00 paid app
30 1032 5 2026-02-14 13:30:00 paid web
31 1033 5 2026-02-14 16:30:00 paid store
32 1034 5 2026-02-14 10:30:00 paid app
33 1036 14 2026-01-16 01:42:07 refunded app
34 1037 38 2026-03-08 19:28:41 pending store
35 1038 9 2025-12-18 09:01:58 paid store
36 1039 2 2025-09-12 08:26:19 paid web
37 1040 12 2026-02-11 15:04:00 cancelled web
38 1041 32 2026-04-22 15:13:08 paid app
39 1042 35 2025-10-28 14:44:18 cancelled web
40 1043 26 2026-01-05 21:57:00 paid store
41 1044 6 2026-02-09 18:36:53 paid store
42 1045 45 2026-01-23 07:06:47 cancelled web
43 1046 22 2026-06-30 01:58:03 paid web
44 1047 8 2026-01-09 09:26:50 paid app
45 1048 5 2025-12-14 00:07:09 paid app
46 1049 44 2026-07-31 23:48:12 paid app
47 1051 12 2026-03-01 00:00:00 paid web
48 1052 9 2026-04-01 00:00:00 paid app
49 1053 12 2026-03-31 23:59:59 paid web
50 1054 9 2026-02-28 23:59:59 paid web
显示前 50 行,共 180 行