我有一個的大數據幀有222列我想要做像下面的例子認沽值從一行到另一階dataaframe
|id |day |col1 |col2 | col3 ....................
+----------+----------------+-------+-----+
| 329| 0| null|2.0
| 329| 42| null|null
| 329| 72| 5.55|null
| 329| 106| null|null
| 329| 135| null|3.0
| 329| 168| null|4.0
| 329| 189| 4.995|null
| 329| 212| null|6.0
| 329| 247| null|null
| 329| 274| null|8.0
|id | day |col1 |col2 |.......................
+----------+----------------+-------+-----+
| 329| 0| null|2.0
| 329| 42| null|2.0
| 329| 72| 5.55|2.0
| 329| 106| 5.55|2.0
| 329| 135| 5.55|3.0
| 329| 168| 5.55|4.0
| 329| 189| 4.995|4.0
| 329| 212| 4.995|6.0
| 329| 247| 4.995|6.0
| 329| 274| 4.995|8.0
.
.
.
.
.
1.read行1 2.我有85K的唯一ID的和每個ID有10個結果(只有一個ID的示出的示例)3.如果 在第2行的數據不存在,則把它從ID的前一行
我得到導致這樣
id | day |original_col1 |Result_col1|prevValue|
+----------+----------------+--------------+-----------+---------+
| 329| 0| null | null | null|
| 329| 42| null | null | null|
| 329| 72| 5.55 | 5.55 | null|
| 329| 106| null | 5.55 | 5.55|
| 329| 135| null | null | null|
| 329| 168| null | null | null|
| 329| 189| 4.995 | 4.995 | null|
| 329| 212| null | 4.995 | 4.995|
| 330|....................................................
| 330|.....................................................
.
是否有確定性的方式來排序數據,以便能夠使用窗口函數(滯後)?我知道你希望在由col「id」定義的分區中應用上面的邏輯,但是除非你有辦法定義一些排序(假定順序很重要),對於id爲「1」的分區,對於「col1」你可能會在第1/2/3行得到空值,結果會有所不同。如果數據沒有排序,您可以嘗試使用monotonically_increasing_id()函數在從文件/源讀取數據後立即生成order_id。 – Traian
我忘了添加一列請現在檢查,ID是唯一的,強制性ID不過是用戶而且每個ID都少於6條記錄。 –