与 Pyspark 和 When 结合使用的逻辑
我有下面的数据框:
customer_id | person_id | type_person | type_person2 | insert_date2 | anterior_type | update_date |
---|---|---|---|---|---|---|
abcdefghijklmnopqrst | 4a5ae8a5-6682-467 | Online | Online | 2022-03-02 | null | null |
abcdefghijklmnopqrst | 1be8d3e8-8075-438 | Online | Online | 2022-03-02 | null | null |
abcdefghijklmnopqrst | 6912dadc-1692-4bd | 在线 | 离线 | 2022-03-02 | 在线 | 2022-03-03 |
abcdefghijklmnopqrst | e48cba37-113c-4bd | 在线 | 在线 | 2022-03-02 | null | null |
abcdefghijklmnopqrst | 831cb669-b2ae-4e8 | 在线 | 在线 | 2022-03-02 | null | null |
abcdefghijklmnopqrst | 69161fe5-62ac-400 | 在线 | 在线 | 2022-03-02 | null | null |
abcdefghijklmnopqrst | b48b59a0-92eb-410 | 在线 | 在线 | 2022-03-02 | null | null |
我需要查看“type_person”和“type_person2”列,并使用以下规则创建一个新列:
- 如果两者都在线,则在线
- 如果两者都离线,则离线
- 如果一个离线,一个在线,则混合
- 如果一个在线一个是离线的,然后是混合的
- 如果两者之一是混合的,那么是混合的
我该怎么做?
I have the dataframe below:
customer_id | person_id | type_person | type_person2 | insert_date2 | anterior_type | update_date |
---|---|---|---|---|---|---|
abcdefghijklmnopqrst | 4a5ae8a5-6682-467 | Online | Online | 2022-03-02 | null | null |
abcdefghijklmnopqrst | 1be8d3e8-8075-438 | Online | Online | 2022-03-02 | null | null |
abcdefghijklmnopqrst | 6912dadc-1692-4bd | Online | Offline | 2022-03-02 | Online | 2022-03-03 |
abcdefghijklmnopqrst | e48cba37-113c-4bd | Online | Online | 2022-03-02 | null | null |
abcdefghijklmnopqrst | 831cb669-b2ae-4e8 | Online | Online | 2022-03-02 | null | null |
abcdefghijklmnopqrst | 69161fe5-62ac-400 | Online | Online | 2022-03-02 | null | null |
abcdefghijklmnopqrst | b48b59a0-92eb-410 | Online | Online | 2022-03-02 | null | null |
I need to look at the ´type_person´ and ´type_person2´ columns and create a new column with the following rules:
- If both are online then online
- If both are offline then offline
- If one is offline and one is online then hybrid
- If one is online and one is offline then hybrid
- If either of the two is hybrid then hybrid
How do I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 case when 语句。
您有两种选择。
让我们使用第二种方法:
Use case when statement.
You have two options to do so.
https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.sql.functions.when.html?highlight=when#pyspark.sql.functions.when
)Let's do it using the 2nd way: