我有一個包含日期的陣列列。我想回傳一個搜索陣列并確定陣列是否包含某個條件之前的日期的真偽列。
例子:
| 日期陣列 | 地點 | ID |
|---|---|---|
| [4/22/21,3/21/21] | 達拉斯 | 5 |
| [5/22/21,6/18/21] | 達拉斯 | 5 |
如果我的情況是 21 年 4 月 1 日之前的任何日期,結果應該是這樣的:
| 日期陣列 | 地點 | ID | 布爾日期 |
|---|---|---|---|
| [4/22/21,3/21/21] | 達拉斯 | 5 | 真的 |
| [5/22/21,6/18/21] | 達拉斯 | 5 | 錯誤的 |
這可以用 Pyspark 或 Pandas 完成嗎?
uj5u.com熱心網友回復:
取決于您的實際情況,您可以在此處自定義代碼,但總體思路是獲取陣列的最大和最小日期并將其用于任何比較
from pyspark.sql import functions as F
(df
.withColumn('max_date', F.array_max('date_array'))
.withColumn('min_date', F.array_min('date_array'))
.withColumn('bool_date1', (F.col('min_date') < F.lit(datetime.fromisoformat('2021-04-01'))))
.show()
)
------------------------ -------- --- ---------- ---------- ----------
|date_array |location|id |max_date |min_date |bool_date1|
------------------------ -------- --- ---------- ---------- ----------
|[2021-04-22, 2021-03-21]|Dallas |5 |2021-04-22|2021-03-21|true |
|[2021-05-22, 2021-06-18]|Dallas |5 |2021-06-18|2021-05-22|false |
------------------------ -------- --- ---------- ---------- ----------
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/461633.html
上一篇:如何將檔案從macOS應用程式深度鏈接到瀏覽器列印預覽(就像sublimetext一樣)?
下一篇:日期谷歌表之間的值
