【发布时间】:2021-06-11 13:01:22
【问题描述】:
我有一个这样的数据框
D_1 D_2 D_3 D_4
Boy
Boy play
Boy play car
Boy play chess
Boy play online
现在我想再增加 3 列 L_2、L_3 和 L_4,我可以在其中根据级别将前三列的数据数据相加,以便最终将结果 df 设为:
D_1 D_2 D_3 D_4 L_2 L_3 L_4
Boy boy|emp boy|emp|emp boy|emp|emp|emp
Boy play boy|play boy|play|emp boy|play|emp|emp
Boy play car boy|play boy|play|car boy|play|car|emp
Girl Girl|emp Girl|emp|emp Girl|emp|emp|emp
我的 SQL 解决方案如下所示
select *
, concat(D_1,"|",ifnull(D_2, "emp")) as L_2
, concat(D_1,"|",ifnull(D_2, "emp"), "|", ifnull(D_3, "emp")) as L_3
, concat(D_1,"|",ifnull(D_2, "emp"), "|", ifnull(D_3, "emp"), "|", ifnull(D_4, "emp")) as L_4
from abc
谁能指导我如何在 python 脚本中转换它? 提前致谢!
【问题讨论】:
-
你为什么要这个?
-
因为我有一个 python 脚本正在清理文件并将其推送到 bigquery ,我想避免使用 SQL 并直接从 python 脚本获取更新的数据。
标签: python sql python-3.x pandas dataframe